我正在尝试将数据插入到我的MYSQL数据库中.我想在数据库中插入一个我没有问题的int.但是,我想INSERT INTO(VALUES)WHERE.我尝试这个时遇到MYSQL语法错误.
只要它们在两个单独的语句中,我就可以INSERT和SELECT WHERE.这是我的代码:
String query = ("INSERT INTO `accounts` (inventory) " + "VALUES ('"
+ Inventory.inventory + "') WHERE username='" + Frame.username
+ "' and password = '" + Frame.password + "'");
Run Code Online (Sandbox Code Playgroud)
基本上,INSERT声明不能有WHERE条款.我想你想要UPDATE某个记录,例如
UPDATE accounts
SET inventory = 'valueHere'
WHERE userName = 'userHEre' AND password = 'passHere'
Run Code Online (Sandbox Code Playgroud)
INSERT语句可以拥有WHERE子句的唯一时间是从SELECT语句结果中插入记录,例如
INSERT INTO tableName (col1, ..., colN)
SELECT col1, ..., colN
FROM table2
// WHERE ..your conditions here..
Run Code Online (Sandbox Code Playgroud)
作为旁注,您目前的编码风格很容易受到影响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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |