【问题标题】:What is wrong with this QUERY, why it is giving me following error?这个QUERY有什么问题,为什么它给我以下错误?
【发布时间】:2017-03-10 06:39:25
【问题描述】:

我正在学习 java 中的摇摆。我已经创建了一个由数据库值填充的 jtable(sql 表 --> 用户(id,name,age))。我想制作 jtable,如果我从 jtable 更改值,也应该在单击按钮时更新数据库。但是在我执行查询的地方发生了错误。我想知道这个查询有什么问题???

查询:

String sql = "UPDATE \'alarm bell marshal\' SET mr = \'" + mrs.get(row) +
                "\' , shop = \'" +shops.get(row)+ "\' where id = \'" + ids.get(row) + "\'";

错误:

严重:空 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 ''alarm bell marshal' SET mr = '0' , shop = '0' where id = '1'' 附近使用正确的语法

【问题讨论】:

  • 在这种情况下更好地使用准备语句
  • 请阅读 SQL 注入漏洞并使用准备好的语句。
  • 鲍比桌喜欢这个。 bobby-tables.com
  • 因为这是 MariaDB,我想它的语法与 MySQL 相同,允许在表名和列等标识符周围使用 backticks。注意单引号 ' 和反引号 `. 之间的区别。
  • 请不要在名字'alarm bell marshal中使用空格,如果是这样,请使用RealSkeptic评论

标签: java mysql swing jdbc


【解决方案1】:

尝试使用方法:

String sql = 'UPDATE `alarm bell marshal` SET `mr` = "' + mrs.get(row) + '" , `shop` = "' + shops.get(row) + '" WHERE `id` = "' + ids.get(row) + '"';

【讨论】:

    猜你喜欢
    • 2020-12-12
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多