Mysql 插入';报告"临时"';不在';报告';?
我有两张桌子:Mysql 插入';报告"临时"';不在';报告';?,mysql,inner-join,Mysql,Inner Join,我有两张桌子: report (reportID, VendorName, VendorID, MfgDate, PurchaseDate, etc.,) 在report表中,reportID是主键 report\u temp具有与report相同的列集,但没有任何约束 我必须将report\u temp中的行插入到report,其中reportID不相同。 我写的是 INSERT INTO report(reportID, VendorName, VendorID, MfgDate, P
report (reportID, VendorName, VendorID, MfgDate, PurchaseDate, etc.,)
在report
表中,reportID是主键
report\u temp
具有与report
相同的列集,但没有任何约束
我必须将report\u temp中的行插入到report
,其中reportID不相同。
我写的是
INSERT INTO report(reportID, VendorName, VendorID, MfgDate, PurchaseDate,...)
NOT (SELECT reportID, VendorName, VendorID, MfgDate, PurchaseDate,...
FROM report INNER JOIN report_temp USING (reportID, VendorName,
VendorID, MfgDate,PurchaseDate,...))
我也尝试过在内使用子句使用reportID
,但我无法得到它。。。
如果您尝试与我共享类似的内容。这将为您提供两个表中存在的ReportID集:
因此,这将为您提供要插入的行:
SELECT * FROM report_temp WHERE reportID NOT IN (SELECT report_temp.reportID FROM report_temp, report WHERE report_temp.reportID=report.reportID)
然后将其放入报告
表中:
INSERT INTO report SELECT * FROM report_temp WHERE reportID NOT IN (SELECT report_temp.reportID FROM report_temp, report WHERE report_temp.reportID=report.reportID)
INSERT INTO report SELECT * FROM report_temp WHERE reportID NOT IN (SELECT report_temp.reportID FROM report_temp, report WHERE report_temp.reportID=report.reportID)