集計クエリの出力からテーブルに新しい行を挿入したいと考えています。
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 でこれを達成するにはどうすればよいですか?
アップデート
これはおそらく、元のテーブルに null 以外のフィールドがないためです。明日見つけたら、ここに解決策を投稿します。