我正在使用oracle(使用Toad),但是当我尝试执行此查询时
INSERT INTO KEYUSER(NAME) VALUES(UNAME) WHERE ID = 1;
我收到此错误:
SQL命令未正确结束。找到了“ WHERE”期望值;或-LOG-或RETURN RETURNING
怎么了?问候。
答案 0 :(得分:3)
您可以从不在插入语句中使用where子句。当您只是想插入一行时,拥有它没有任何意义。
答案 1 :(得分:1)
一般插入语句如下所示
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
因此,在您的情况下,您必须从语句中删除where
子句,查询将如下所示
INSERT INTO KEYUSER(NAME) VALUES('UNAME');
答案 2 :(得分:0)
大概您打算使用UPDATE
而不是INSERT
:
UPDATE KEYUSER
SET NAME = UNAME
WHERE ID = 1;
有时候,新的SQL用户在INSERT
和UPDATE
之间感到困惑。 INSERT
将新的行插入表中。 UPDATE
更改现有行中的值。令人困惑的是,有人将INSERT
解释为“将新值插入一行”。