基本上,INSERT
語句不能有WHERE
條款。我在想,要UPDATE
一定的記錄,如
UPDATE accounts
SET inventory = 'valueHere'
WHERE userName = 'userHEre' AND password = 'passHere'
唯一一次的INSERT
語句可以有一個WHERE
條款是當你從SELECT
語句的結果插入記錄,如
INSERT INTO tableName (col1, ..., colN)
SELECT col1, ..., colN
FROM table2
// WHERE ..your conditions here..
作爲一個旁註,您目前的編碼風格易受攻擊,其版本號爲SQL Injection
。考慮使用PreparedStatement
。
的PreparedStatement
String updateString = "UPDATE accounts SET inventory = ? WHERE userName = ? AND password = ?";
PreparedStatement updateStmt = con.prepareStatement(updateString);
updateStmt.setString(1, Inventory.inventory);
updateStmt.setString(2, Frame.username);
updateStmt.setString(3, Frame.password);
updateStmt.executeUpdate();
謝謝!修復! :) – Nic 2013-05-01 15:25:23
不客氣':)' – 2013-05-01 15:25:58