3

自動インクリメント列 ID があり、状況によっては、他の列を主キー + 1 値に等しくしたい

ID | other
1  | 2
2  | 3
3  | 4
4  | 123 (some situation, it is not always plus 1)

どうすればこれを達成できますか?

これが私が試したことです

INSERT INTO table (`ID`,`other`) VALUES ('',(SELECT MAX(ID)+1 FROM table))

しかし、それはエラーを返します

You can't specify target table 'table' for update in FROM clause
4

3 に答える 3

0

DBを2回更新することでこれを解決しました..

+1 19 から ..

UPDATE `table` SET `id`=`id`+101 WHERE id <= 19 
UPDATE `table` SET `id`=`id`-100 WHERE id <= 119 AND id >= 101
于 2015-11-30T18:10:34.517 に答える