下面的简单语句:
INSERT INTO mydb.inventory (itemID) VALUES (:itemID) WHERE playerID = :ID;
生成以下错误:
ORA-00933: SQL command not properly ended
我试过不带分号和带分号,但都给了我错误。我确信变量也被绑定了。
我所有的谷歌搜索都表明这通常是由 ORDER BY 子句引起的,但显然我没有。=P
如果您使用 SELECT填充INSERT 语句,则仅定义 WHERE 子句。IE:
INSERT INTO mydb.inventory
(itemID)
SELECT :itemID FROM DUAL
否则,您按原样指定值:
INSERT INTO mydb.inventory
(itemID)
VALUES
(:itemID)
在更新现有记录时指定 WHERE 子句:
UPDATE mydb.inventory
SET itemid = :itemid
WHERE playerid = :ID
插入不能有 where 子句。也许你真的打算update
?
语句中的where
子句相当不寻常insert
。也许您正在尝试更新?
UPDATE mydb.inventory SET itemID = :itemID WHERE playerID = :ID;