mysql查询语法有问题吗?尝试从内部联接中插入
下面的代码给了我一个模糊且没有帮助的错误:mysql查询语法有问题吗?尝试从内部联接中插入,mysql,database,syntax,insert,Mysql,Database,Syntax,Insert,下面的代码给了我一个模糊且没有帮助的错误: INSERT INTO database VALUES * FROM dbtemp WHERE dbtemp.number NOT IN (SELECT dbtemp.number FROM dbtemp INNER JOIN database ON dbtemp.number = database.number AND dbtemp.price = database.price); 我已经成功地在这些数据库上运行了其他查询,所以我知道这只是这个语句
INSERT INTO database VALUES * FROM dbtemp WHERE dbtemp.number NOT IN (SELECT dbtemp.number FROM dbtemp INNER JOIN database ON dbtemp.number = database.number AND dbtemp.price = database.price);
我已经成功地在这些数据库上运行了其他查询,所以我知道这只是这个语句的语法问题。但就我个人而言,我看不出有什么不对。如有任何建议,将不胜感激
谢谢 这应该是SELECT语句中的
插入语句吗?您的插入数据库值*
语法可疑
INSERT INTO database
SELECT * FROM dbtemp
WHERE dbtemp.number NOT IN (
SELECT dbtemp.number FROM dbtemp INNER JOIN database ON dbtemp.number = database.number AND dbtemp.price = database.price
);
像这样执行INSERT-SELECT
时,建议使用显式列名,而不是SELECT*
,以确保它们以正确的顺序返回:
INSERT INTO database
SELECT
col1,
col2,
col3
FROM dbtemp
WHERE dbtemp.number NOT IN (
SELECT dbtemp.number FROM dbtemp INNER JOIN database ON dbtemp.number = database.number AND dbtemp.price = database.price
);
什么是含糊不清的、毫无帮助的错误?