英文:
Updating a column in MySQL
问题
我只是在学习,我不明白如何更新表中的单独列,我使用MySQL。表名叫做card,我想更新pincode列。
java.sql.SQLSyntaxErrorException: SQL语法错误;请检查与您的MySQL服务器版本对应的手册,以查找正确的语法使用方式,附近的错误位置在'UPDATE COLUMN pincode = strPincodeNew'。
try {
Connection c = Database.connection();
Statement stmt11 = c.createStatement();
String sql12="ALTER TABLE card UPDATE COLUMN pincode = strPincodeNew";
stmt11.executeUpdate(sql12);
System.out.println("\n\n==== 输入新的PIN码 ====\n");
pincodeNew = scanner.nextInt();
}
String strPincodeNew = String.valueOf(pincodeNew);
operation.newPC1(strPincodeNew, cardNumber);
System.out.println("PIN码成功更改");
重写不同的命令
英文:
I'm just learning and I don't understand how to update a separate column in the table, I use MySQL. The table is called card, I want to update the pincode column.
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE COLUMN pincode = strPincodeNew' at line 1
public void newPC1(String strPincodeNew, String cardNumber) {
try {
Connection c = Database.connection();
Statement stmt11 = c.createStatement();
String sql12="ALTER TABLE card UPDATE COLUMN pincode = strPincodeNew";
stmt11.executeUpdate(sql12);
while (pincodeNew>=....) {
System.out.println("\n\n==== Enter a new PIN code ====\n");
pincodeNew = scanner.nextInt();
}
String strPincodeNew = String.valueOf(pincodeNew);
operation.newPC1(strPincodeNew, cardNumber);
System.out.println("PIN code successfully changed");
Rewrote different commands
答案1
得分: 2
请尝试以下操作。您需要在必要时更正卡号列名称:
public void newPC1(String strPincodeNew, String cardNumber) throws SQLException {
try (Connection c = Database.connection();
PreparedStatement ps = c.prepareStatement("UPDATE card SET pincode = ? WHERE card_number = ?")) {
ps.setString(1, strPincodeNew);
ps.setString(2, cardNumber);
ps.executeUpdate();
}
}
如果您有任何其他问题,请随时提出。
英文:
Try the following. You need to correct the card number column name where necessary:
public void newPC1(String strPincodeNew, String cardNumber) throws SQLException {
try (Connection c = Database.connection();
PreparedStatement ps = c.prepareStatement("UPDATE card SET pincode = ? WHERE card_number = ?")) {
ps.setString(1, strPincodeNew);
ps.setString(2, cardNumber);
ps.executeUpdate();
}
}
答案2
得分: 0
你想要的是更改一行中的一个 列。因此,您需要同时选择两者。
可能您想要执行类似以下的操作:
UPDATE card SET pincode = '1234' WHERE card_id = 'abcdef';
在更新之前,您需要通过 INSERT
语句在表中拥有一行。
英文:
What you want is to change a column in a row. So you need to select both.
Likely you want to do something like
UPDATE card SET pincode = '1234' WHERE card_id = 'abcdef';
You need to have one row (via an INSERT
statement) in the table, before you can update something.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论