MySQL直接插入with WHERE子句
我试着用谷歌搜索这个问题,但只找到了如何使用两个表,如下所示MySQL直接插入with WHERE子句,mysql,insert,where-clause,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_m
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 to…SELECT
语句时,才能找到INSERT
hasWHERE
子句
第一个语法已经正确
INSERT INTO语句INSERT INTO语句用于在表中插入新行。
SQL插入语法 可以用两种形式将INSERT写入语句 第一种形式不指定插入数据的列名,只指定其值:
INSERT INTO table_name
VALUES (value1, value2, value3,...)
第二种形式指定要插入的列名和值:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
如何使用WHERE子句执行INSERT INTO SELECT的示例
INSERT INTO #test2 (id) SELECT id FROM #test1 WHERE id > 2
如果我知道目标是向表中插入新记录,但如果数据已经在表中:跳过它!以下是我的答案:
INSERT INTO tbl_member
(Field1,Field2,Field3,...)
SELECT a.Field1,a.Field2,a.Field3,...
FROM (SELECT Field1 = [NewValueField1], Field2 = [NewValueField2], Field3 = [NewValueField3], ...) AS a
LEFT JOIN tbl_member AS b
ON a.Field1 = b.Field1
WHERE b.Field1 IS NULL
要插入的记录位于新值字段中。您可以使用UPDATE命令
UPDATE table_name SET name=@name, email=@email, phone=@phone WHERE client_id=@client_id
INSERT
语法不能有WHERE
,但可以使用UPDATE
语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
好的,谢谢,我会根据我的需要尝试优化第一个查询:)是的,我真是太愚蠢了,只需要在select查询中调用同一个表并将其与我想要的值进行匹配:)非常感谢:)基于您心目中的SQL,如果表中不存在行,那么您可能希望将其插入表中。如果是这样,请看一下这个问题/答案。请看这个问题。这可能会有帮助。是的,这正是我需要检查的……非常感谢你的回复:)谢谢你的回复,但我想执行一个有条件的“插入”语句:)它是自我解释的。这是一个示例,说明可以使用WHERE子句插入到中。这是一个非常简单的例子,任何人都应该能够理解这个概念。否决票不是我的,我喜欢评论。如你所见,其他人不同意。我发现你的帖子质量很低,所以我建议你改进一下。好吧,即使投票被否决了,我也会把它保留下来,因为我相信这会对以后的人有所帮助。