【问题标题】:org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statementorg.h2.jdbc.JdbcSQLSyntaxErrorException: SQL 语句中的语法错误
【发布时间】:2021-10-23 23:35:00
【问题描述】:

我在 java 中使用 h2 作为内存数据库,但它一直告诉我有语法错误,我找不到它是什么


import java.sql.*;

public class Test {

    private static final String SQL_CREATE_TABLE = "DROP TABLE IF EXISTS CUENTAS; CREATE TABLE CUENTAS "
            + "("
            + " ID INT PRIMARY KEY, "
            + " NOMBRE varchar(100) NOT NULL"
            + " NUMERO_CUENTA NUMERIC(10, 2) NOT NULL, "
            + " SALDO FLOAT NOT NULL"
            + ")";

    private static final String SQL_INSERT = "INSERT INTO CUENTAS (ID, NOMBRE, NUMERO_CUENTA, SALDO) VALUES(?, ?, ?, ?)";
    private static final String SQL_UPDATE = "UPDATE CUENTAS SET SALDO=? WHERE ID=?";
    

【问题讨论】:

    标签: java sql h2


    【解决方案1】:

    NOMBRE 字段后似乎缺少逗号

    
    import java.sql.*;
    
    public class Test {
    
        private static final String SQL_CREATE_TABLE = "DROP TABLE IF EXISTS CUENTAS; CREATE TABLE CUENTAS "
                + "("
                + " ID INT PRIMARY KEY, "
                + " NOMBRE varchar(100) NOT NULL," //<-- comma missing here
                + " NUMERO_CUENTA NUMERIC(10, 2) NOT NULL, "
                + " SALDO FLOAT NOT NULL"
                + ")";
    
        private static final String SQL_INSERT = "INSERT INTO CUENTAS (ID, NOMBRE, NUMERO_CUENTA, SALDO) VALUES(?, ?, ?, ?)";
        private static final String SQL_UPDATE = "UPDATE CUENTAS SET SALDO=? WHERE ID=?";
    

    让我知道这是否适合你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 2021-03-28
      相关资源
      最近更新 更多