mysql - 在 java 中将数据插入数据库表 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 时出错

标签 mysql

我正在尝试执行代码,但我不断收到错误消息。可能是什么问题。错误是:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在 'key) VALUES('davis','0704254498','0704254498',now(),'Hope you had a lovely day,'' 在行1

 String sql = "INSERT INTO  tWebServiceSms(username,mobile,sender_id,time_sent,message_payload,status,key)   VALUES(?,?,?,now(),?,?,?)";
    PreparedStatement stmt = null;
    try {
        stmt = conn.prepareStatement(sql);
        stmt.setString(1, webServiceSmsOut.getUsername());
        stmt.setString(2, webServiceSmsOut.getMobile());
        stmt.setString(3, webServiceSmsOut.getSenderId());
        stmt.setString(4, webServiceSmsOut.getMessage());
        stmt.setInt(5, 0);
        stmt.setString(6, webServiceSmsOut.getKey());
        int affected = stmt.executeUpdate();
        return affected == 1;
    } catch (SQLException e) {
        Logger.getLogger(WebServiceSmsData.class.getName()).log(Level.SEVERE, "null", e);
        return false;
    } finally {
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException ex) {
                Logger.getLogger(WebServiceSmsData.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

最佳答案

单词key是mysql中的保留字,用来表示一个索引。如果要将其用作标识符名称,则需要用反引号 (`) 将其括起来

关于mysql - 在 java 中将数据插入数据库表 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301131/

相关文章:

php - 使用自定义 SQL 的学说子查询

mysql - 获取百分比平均值

c# - ASP/VB/C# .NET 动态计算和引用

php - 使用PHP更新MYSQL数据库

php - mysql表中按两列分组

php - 使用 PHP 和 mysql Bootstrap 连续 2 张卡

mysql - 通过phpmyadmin在Mysql中加载CSV数据

mysql - 如何在 SQL 中获取多值属性

mysql - 从 3 个表中获取所有结果而不重复

java - 如何使用java访问局域网内的mysql数据库