gpt4 book ai didi

Java SQL : syntax error encountered at line xx column xx

转载 作者:行者123 更新时间:2023-11-29 03:28:59 26 4
gpt4 key购买 nike

我收到一条错误消息“语法错误:在第 1 行第 69 列遇到“年份””

这是我的代码

public void UpdateRecord(String sql1, String sql2, String sql3, String sql4, int sql5, String sql6) {
try {

PreparedStatement stt = conn.prepareStatement("update Students set ic = ?, name = ?, level = ?, programmecode = ?, year = ? where id = " + sql6);

stt.setString(1, sql1);
stt.setString(2, sql2);
stt.setString(3, sql3);
stt.setString(4, sql4);
stt.setInt(5, sql5);
//stt.setString(6, sql6);
stt.executeUpdate();

//stt.close();


} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE);
}

}

虽然异常指出错误起源于“YEAR”,但我没有找到任何

这里是sql表

CREATE TABLE STUDENTS ( 
ID VARCHAR(10) not null primary key,
IC VARCHAR(14) unique,
NAME VARCHAR(50),
LEVEL CHAR(1),
PROGRAMMECODE VARCHAR(3),
YEAR INTEGER,
foreign key (PROGRAMMECODE) references PROGRAMMES(CODE)
);

最佳答案

MYSQL 有一些保留关键字,你不应该将它用于变量名,但如果你真的想要,你可以以不同的方式使用它。year 是问题所在。要么更改列的名称或在保留关键字周围使用反引号。

PreparedStatement stt = conn.prepareStatement("update Students set ic = ?, name = ?, level = ?, programmecode = ?, `year` = ? where id = " + sql6);

关于Java SQL : syntax error encountered at line xx column xx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19404074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com