-1
INSERT INTO table VALUES (NULL, 45, 12, NOW(), SELECT MAX(current_price) + 1 FROM table)

同じテーブルの最大価格に1を加えたものに等しい「現在の価格」を持つ行を挿入したいと思います。これを行うために使用SELECT MAX(current_price) + 1 FROM tableしています。

問題は、エラーが返されることです。
誰かが助けることができますか?

4

1 に答える 1

3

サブクエリを角かっこで囲みます。

INSERT INTO table 
VALUES (NULL, 45, 12, NOW(), (SELECT MAX(current_price) + 1 FROM table));

これを行うためのより良い方法:

INSERT INTO table 
SELECT NULL, 45, 12, NOW(), MAX(current_price) + 1 FROM table;
于 2012-10-13T09:11:24.390 に答える