Нужно обновить поле в базе данных, но когда я делаю запрос, он пишет мне «0 строк, затронутых», хотя поле изображения и пусто.Назначение значения пустому полю
UPDATE `oc_product` SET `image`= 'no_image.png' WHERE `image`='';
Нужно обновить поле в базе данных, но когда я делаю запрос, он пишет мне «0 строк, затронутых», хотя поле изображения и пусто.Назначение значения пустому полю
UPDATE `oc_product` SET `image`= 'no_image.png' WHERE `image`='';
Вашего запроса проверки значения пустой строки, хотя от того, что вы показали значение, которое вы действительно хотите изменить имеет значение NULL
. Это два разных значения, NULL
не равно ''
. Таким образом, если вы хотите, чтобы заменить элементы, которые имеют NULL
значение, вы должны изменить ваше где заявление о том, что (WHERE
):image
IS NULL
UPDATE `oc_product` SET `image`= 'no_image.png' WHERE `image` IS NULL;
ли выбрать запрос возвращает все строки выбрать изображение из oc_product WHERE изображения = «»;
Если да добавить другие поля confition, а также проверить, является ли он получать пострадавших Овертаймы не пример
UPDATE oc_product SET изображение = 'no_image.png' WHERE (изображение = "" И образ IS NULL) и other_column = «значение столбца»;
Надеется, что это полезно для вас :)
Я попытался сделать такой запрос в базу данных UPDATE oc_product SET image = 'no_image.png' WHERE (image = "" AND image IS NULL), но он возвращает 0 строк. При этом я не вижу никаких записей, когда вы набираете select * from oc_product WHERE image = '' '; – Danilkalmykov
@ Danilkalmykov Тогда у вас явно нет элементов с пустой строкой в качестве значения. –
См. Экран http://imgur.com/721LO1O – Danilkalmykov
ли вы какие-либо записи при вводе выберите * из oc_product WHERE ' image' = ''; – Filype
Нет, я не хочу. Знаете ли вы, что это может быть причиной? – Danilkalmykov
Кажется, что он отлично работает в [скрипте SQL] (http://sqlfiddle.com/#!9/8f7e37/1). Вы уверены, что это пустая строка? Если это так, то это не пустая строка, как вы думаете (* ex: пробел, нуль и т. Д. *). –