当满足条件时,我试图将值插入表的1列中。
注意:该表已经包含了所有列的数据,但1的数据为空。我想根据WHERE子句将值插入到这1列中。
我有一个疑问:
INSERT INTO <TABLE_NAME>
(COLUMN_NAME)
(VALUE)
WHERE <CONDITION>我有个例外:
关键词附近的不正确语法
我可以使用UPDATE来完成这个任务:
UPDATE <TABLE_NAME>
SET <COL_NAME>
WHERE <CONDITION>但不知道为什么INSERT查询失败。任何建议都很感激。
发布于 2015-08-16 19:42:09
正如我理解您的问题一样,您已经在一行中有数据,而该行中的一列没有值,因此您希望在该列中添加值。
这是更新现有行的方案,而不是插入新行。当数据已经存在并且需要修改记录时,您必须使用UPDATE子句。要在表中插入新行时,请选择“插入”。
因此,在当前场景中,Update是Where子句的朋友,因为您希望修改记录子集,而不是所有记录。
UPDATE <TABLE_NAME>
SET <COL_NAME>
WHERE <CONDITION>按照任何RDBMS语法,插入子句都没有Where子句(我认为)。Insert是条件较少的sql查询,而SELECT、UPDATE、DELETE都是条件命令,您可以在后面的所有命令中添加Where子句。
发布于 2015-08-16 19:52:52
为了在已填充行时将值添加到一个列中,您将需要使用update语句。
如果需要插入具有where子句的新行,则需要使用insert insert select语句:
INSERT INTO <table> (<columns>)
SELECT <columns>
FROM <table>
WHERE <condition>;发布于 2015-08-16 20:00:16
SQL不接受where参数,可以检查以下内容:SQL插入定义.
我不知道您想做什么的全部问题,但是仅使用INSERT语句是不可能的,但是如果数据依赖于另一个表或来自另一个表,则可以将数据插入到表中.看看这里..。维基百科中的SQL解释
就像这样:
从其他表复制行
INSERT INTO phone_book2
SELECT *
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')或
INSERT INTO phone_book2 ( [name], [phoneNumber] )
SELECT [name], [phoneNumber]
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')https://stackoverflow.com/questions/32039059
复制相似问题