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
  );

什么是含糊不清的、毫无帮助的错误?