-1

テーブル内の行数を取得し、その数を同じテーブルに挿入しようとしています。すべて単一のクエリで実行します。サブクエリを調べたところ、同じテーブルで実行しているため、エラーがスローされます。

次に、変数を調べたところ動作しますが、mySQL は空の結果に関するエラーをスローします。

SET @nums := (SELECT COUNT(*) FROM myitems);
INSERT INTO myitems ( `label`, `counted`) VALUES ('blah', @nums);

これが堅牢であると信頼できますか?私は SQL ステートメントの専門家ではありません。

PS: ここで使用する必要があると思われるものを知ってAUTO_INCREMENTいます。私は状況を単純化して、質問を消化しやすいようにしました (そしてうまくいけば答えます)。

4

1 に答える 1

0

INSERT ... SELECTを使用しないのはなぜですか?

INSERT INTO myitems( `label`, `counted`)
SELECT 'blah', COUNT(*) FROM myitems;

なぜこれを行うのかわかりませんが、それはあなたの質問に答えます

于 2013-11-13T03:38:27.583 に答える