作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我尝试用谷歌搜索这个问题,但只找到了如何使用两个表来解决这个问题,如下所示,
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 != '');
但这是错误的.. 请问我可以知道正确的做法吗,非常感谢:)
最佳答案
INSERT
语法不能有 WHERE
子句。只有在使用 INSERT INTO...SELECT
语句时,您才会发现 INSERT
有 WHERE
子句。
第一个语法已经正确了。
关于MySQL 使用 WHERE 子句直接 INSERT INTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948554/
我是一名优秀的程序员,十分优秀!