2013-12-05 2 views
2

Я использую следующий запрос, чтобы заменить старую ссылку на новую:UPDATE my_table не работает правильно

UPDATE my_table SET file = 'link' WHERE my_table.file ='old_link'; 

В моих тестах я не могу дублировать, и я не уверен, что это неправильно с этим запросом, но, по-видимому, иногда он оставляет старую запись и вставляет новую вместо обновления!

MySQL версии: 5.6.12-56 Percona сервера, тип таблицы: InnoDB

+0

Как вы знаете, что-то еще фактически не вставляя «старый»? –

+1

Я бы сказал, что это невозможно. Но давайте держим его в «невероятном». Наверное, более вероятно, что вы сделаете вставку в другое место. – GolezTrol

ответ

1

Хотя UPDATE не будет запускать вставку самостоятельно, в базе данных могут существовать триггеры, которые загоняли бы INSERT всякий раз, когда запись обновляется.

Вот некоторые ссылки, которые вы должны проверить:

3

Запрос выглядит хорошо для меня. UPDATE никогда не должен создавать новые строки, изменять только существующие строки. Проблема, вероятно, в другой части кода.

Смежные вопросы