我有一个MySQL
数据库,并且想要向其中写入一行。问题是MySQL
不喜欢我的query
,为什么?这是我的代码:将日期输入到MySQL数据库时出现异常
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
for (Integer articlevalue : articlesendlist) {
for (Integer suppliervalue : suppliersendlist) {
connection.executeQuery("INSERT INTO Bestellungen(Bestellung_ID, Artikel_ID, Lieferant_ID, Datum, Preis) VALUES (" + maxorder + ", " + articlevalue + ", " + suppliervalue + ", " + date + ", NULL)");
}
}
小描述了我的代码。 articlesendlist
包含来自JTabel
的选定值的ID。这同样适用于suppliersendlist
。我想将这些ID写入表格“Bestellung
”。变量maxorder
是表“Bestellung
”的当前ID。
如果你需要它时,例外是:
您的SQL语法错误;检查 对应于你的MySQL服务器版本使用 附近'12正确的语法手册:45:在line 06.164,NULL)” 1
请不要评论/与其他环节的答案,我已经搜索了这个问题并阅读了几个网站。他们不帮我或不适合我的问题。
- 谢谢大家帮忙
首先,使用'PreparedStatemens'创建并执行您的查询,因为您的方式很容易出现SQL注入。 – svz
你可以发布执行的查询语句吗? - 错过了逃避日期? id是int还是varchar?试试这个:connection.executeQuery(“INSERT INTO Bestellungen(Bestellung_ID,Artikel_ID,Lieferant_ID,Datum,Preis) VALUES(”+ maxorder +“,”+ articlevalue +“,”+ suppliervalue +“,'”+ date +“' , 空值)”); –
@svz你甚至不知道我是否使用它们。我写了一个方法,你不知道我在那里使用什么...... – Gerret