我按照这个线程来构建查询,但我的不工作:MySQL INSERT INTO...VALUES和SELECT这是我的查询:
INSERT INTO item_category (id,item_name,price ) VALUES
(SELECT id, item_name, price FROM item_info WHERE item_info.price >99);
这是我得到的错误信息:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id, item_name, price FROM item_info WHERE item_info.price >99)' at line 2
用于从select查询插入表的语法不使用值
。
INSERT INTO item_category (id, item_name, price)
SELECT id, item_name, price
FROM item_info
WHERE price > 99;
插入的值
形式保留用于插入文字元组,例如。
INSERT INTO item_category (id, item_name, price)
VALUES
(1, 'some item', 99);
请注意,我们也可以使用select来表示上述插入值:
INSERT INTO item_category (id, item_name, price)
SELECT 1, 'some item', 99
FROM dual; -- or some other table
当我们想要混合文字和实际列值时,这个技巧非常有用。
删除值
INSERT INTO item_category (
id
,item_name
,price
)
SELECT id
,item_name
,price
FROM item_info
WHERE item_info.price > 99;
删除值,然后像这样尝试
INSERT INTO item_category (id,item_name,price )
SELECT id, item_name, price FROM item_info WHERE item_info.price >99
将工作!!