Когда я пытаюсь запустить "INSERT IGNORE..." в MYSQL, чтобы добавить только одну переменную в таблицу из нескольких параметров, после первой вставки она отказывается работать. Он говорит "Вставленные строки: 0" и не вставляет мое новое значение в базу данных. Я считаю, что это потому, что уже есть запись со значением "ничего", и MYSQL не позволяет дублировать пустое поле. Это кажется странным поведением (пока две вставки не совсем одинаковы), поэтому мне интересно, есть ли способ избежать этого.
Спасибо за любую помощь!
Два INSERT
не обязательно должны быть одинаковыми, они должны быть одинаковыми для столбцов первичного ключа.
INSERT IGNORE
будет игнорировать вставку, если уже есть строка с тем же самым первичным ключом.
Если вы сделали INSERT
вместо INSERT IGNORE
, вы получите ошибку (дублирующий первичный ключ).
Если вы хотите вместо этого обновить существующую строку, вы можете использовать REPLACE
.
В любом случае для каждого первичного ключа может быть только одна строка.