MySQL 使用 WHERE 子句直接 INSERT INTO

标签 mysql insert where-clause

我尝试用谷歌搜索这个问题,但只找到了如何使用两个表来解决这个问题,如下所示,

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 语句时,您才会发现 INSERTWHERE 子句。

第一个语法已经正确了。

关于MySQL 使用 WHERE 子句直接 INSERT INTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948554/

相关文章:

python - sqlite3 python 中的多个 WHERE 子句

mysql - 每隔几分钟运行一次 cronjob 来启动 mysqld 有哪些潜在的负面影响?

mysql - 复杂的动态 SQL 查询,自行加入

mysql - Doctrine 2 加入实体 加入实体

mysql插入,在更改数据时从其他表中选择

php - 使用 MySQL(和 PHP)高效地插入/更新多行的不同列

php - 具有 MySQL 远程访问权限的移动应用程序

php - 插入数据库错误SQLSTATE[HY093]

c# - 如何在 Linq to Sql .Where() 中写入 "OR"

C# Entity Framework 在不可为空字段的过滤器之后选择最大值