Должно ли это было INSERT INTO SELECT
утверждение? Ваш синтаксис INSERT INTO database VALUES *
подозрительный ...
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
);