我想从聚合查询的输出中向我的表中插入一个新行:
INSERT INTO table_name (id) SELECT MAX(id) + 1 FROM table_name;
但它失败并出现以下错误:
ERROR 1339 (20000): Case not found for CASE statement
如果我+ 1
像这样将部分添加到聚合函数中:
INSERT INTO table_name (id) SELECT MAX(id + 1) FROM table_name;
它产生相同的错误。如果我删除该+ 1
部分,它当然会失败,因为它id
是主键:
ERROR 1062 (23000): Duplicate entry '48' for key 'PRIMARY'
如何在不修改表结构的情况下在 MySQL 5.5.29-0ubuntu0.12.10.1 中实现这一点?
更新
这可能是因为原始表中缺少一个非空字段,如果我明天找到它,我会在这里发布解决方案。