Скажем, я хотел выполнить обновление в базе данных, которая содержала информацию, например, об автомобилях в таблице с таким же именем.
Обновление, которое я ищу, состоит в изменении обозначения в таблице в модели с «Ford» на «Ford-», т. Е. Только в тех случаях, когда обозначение «Ford», а не в тех, которые уже имеютОбозначение модели "Ford-"
Запустив приведенный ниже SQL-запрос, получу ли я ожидаемый результат?
UPDATE cars
SET model='Ford-' WHERE model='Ford'
Это, по моему мнению, должно обновлять только те экземпляры автомобилей, у которых обозначение модели обозначено как "Ford", и заменять их на "Ford-", и не будет пытаться обновить что-либо, обозначаемое как "Ford".- «аж так уже или как?
Если бы это было так, я подумал, существует ли чистая структура SQL-запроса, которую можно было бы использовать, чтобы гарантировать, что были изменены только автомобили с моделью = "Ford", а не автомобили с моделью = "Ford-"
Я спрашиваю, поскольку я не уверен, каким образом SQL будет определять строку поиска «Ford» в запросе выше, т. Е. Будет ли SQL искать точное совпадение или будет ли слово «Ford-» в модели вызывать"ложно положительный" ?Не делали SQL-запросов годами.
Не говорите о нормальных формах и т.п., я не отвечаю за создание БД / таблиц и т. Д. Я просто рассматриваю возможность очистки некоторой информации в БД.
Таблица автомобилей выглядит следующим образом:
cars
'id', 'int(10) unsigned', '', 'PRI', '', 'auto_increment'
'something0', 'varchar(50)', '', 'UNI', '', ''
'something1', 'varchar(50)', 'YES', '', '', ''
'something2', 'varchar(50)', 'YES', '', '', ''
'something3', 'text', 'YES', '', '', ''
'something4', 'text', 'YES', '', '', ''
'something5', 'varchar(50)', 'YES', '', '', ''
'something6', 'varchar(50)', 'YES', '', '', ''
'something7', 'varchar(15)', 'YES', '', '', ''
'model', 'varchar(255)', 'YES', '', '', ''
Комментарии очень приветствуются