【发布时间】:2012-10-08 13:13:53
【问题描述】:
我尝试用谷歌搜索这个问题,但只找到了如何使用两个表来解决问题,如下所示,
INSERT INTO tbl_member
SELECT Field1,Field2,Field3,...
FROM temp_table
WHERE NOT EXISTS(SELECT *
FROM tbl_member
WHERE (temp_table.Field1=tbl_member.Field1 and
temp_table.Field2=tbl_member.Field2...etc.)
)
这适用于一种情况,但现在我的兴趣是直接从程序本身上传数据,而不使用两个表。我想要的是上传不在表格中的数据。我脑子里的sql是这样的,
INSERT INTO tbl_member (SensorIdValue, DataTimeValue, DataInValue, IncompleteValue, SpiValue, InfoValue)
VALUES ('Sensor.org', '20121017150103', 'eth0','','','')
WHERE (SensorIdValue != 'Sensor.org'AND DataTimeValue != '20121017150103'AND DataInValue != 'eth0'AND IncompleteValue != ''AND SpiValue != ''AND InfoValue != '');
但这是错误的..请我知道正确的做法,非常感谢:)
【问题讨论】:
-
根据您想到的 SQL,您似乎想在表中插入不存在的行。如果是这种情况,请查看此问题/答案。 stackoverflow.com/questions/1361340/…
-
查看这个问题。它可能会有所帮助。 stackoverflow.com/questions/2930378/…
-
yeaaa 那正是我需要检查这些...非常感谢您的回复:)
标签: mysql insert where-clause