以下简单陈述:
INSERT INTO mydb.inventory (itemID) VALUES (:itemID) WHERE playerID = :ID;
生成以下错误:
ORA-00933: SQL command not properly ended
我没有使用分号也没试过,但两个都给了我错误。我确信变量也受到约束。
我的所有Google搜索都显示这通常是由ORDER BY子句引起的,但显然我没有。 = P
答案 0 :(得分:4)
如果使用SELECT填充INSERT statement,则只定义WHERE子句。 IE:
INSERT INTO mydb.inventory
(itemID)
SELECT :itemID FROM DUAL
否则,您可以按原样指定值:
INSERT INTO mydb.inventory
(itemID)
VALUES
(:itemID)
您在updating an existing record时指定WHERE子句:
UPDATE mydb.inventory
SET itemid = :itemid
WHERE playerid = :ID
答案 1 :(得分:1)
insert不能有where子句。也许你的意思是update
?
答案 2 :(得分:1)
在where
语句中,insert
子句非常不寻常。也许您正在尝试更新?
UPDATE mydb.inventory SET itemID = :itemID WHERE playerID = :ID;