テーブル内の行数を取得し、その数を同じテーブルに挿入しようとしています。すべて単一のクエリで実行します。サブクエリを調べたところ、同じテーブルで実行しているため、エラーがスローされます。
次に、変数を調べたところ動作しますが、mySQL は空の結果に関するエラーをスローします。
SET @nums := (SELECT COUNT(*) FROM myitems);
INSERT INTO myitems ( `label`, `counted`) VALUES ('blah', @nums);
これが堅牢であると信頼できますか?私は SQL ステートメントの専門家ではありません。
PS: ここで使用する必要があると思われるものを知ってAUTO_INCREMENT
います。私は状況を単純化して、質問を消化しやすいようにしました (そしてうまくいけば答えます)。