我尝试按顺序设置“id”列的值,但我的查询不起作用:
UPDATE is_items SET id=(SELECT max(id)+1 FROM is_items WHERE id<160)
错误:
[Err] 1093 - You can't specify target table 'is_items' for update in FROM clause
我看到其他人问了同样的问题,但我不太明白解决方案......
提前致谢,
国王的问候
最佳答案
您可以使用用户定义的变量分两步完成:
set @id := (SELECT max(id)+1 FROM is_items WHERE id<160);
UPDATE is_items SET id=@id;
关于mysql - 1093 - 您无法在 FROM 子句中指定用于更新的目标表 'is_items',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29424426/