обновление с использованием инкрементов в MySQL ошибка возврата дубликата ключа - PullRequest
0 голосов
/ 23 марта 2012

так что я бегу

UPDATE x
SET y = y + 1;

где y является первичным ключом для таблицы ... но затем предположим, что в таблице есть две записи с y = 1,2,3 ... запрос будет жаловаться на дублирующую запись для ключа 'PRIMARY' с тех пор, когда он пытается обновить один с y = 1 до y = 2, он будет конфликтовать с другой уже существующей записью с y = 2 ... есть ли способ заставить mysql игнорировать это и просто обновить все в любом случае, не удаляя вручную ключ .... Я знаю, что я могу просто временно удалить ключ и затем выполнить его, затем повторно добавить ключ, но мне интересно, возможно ли это сделать без этого ...

1 Ответ

2 голосов
/ 23 марта 2012

Вы можете попробовать это

UPDATE x SET y = y + 1 order by y DESC
...