基本上,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