【问题标题】:Error : You have an error with your sql syntax, check the manual that corresponds to your MariaDB for the right syntax错误:您的 sql 语法有错误,请查看与您的 MariaDB 对应的手册以获取正确的语法
【发布时间】:2020-05-07 00:29:37
【问题描述】:

我有一个 java 程序,它创建一个新数据库,然后在其中创建一个表。但是当我运行程序时,它说我的 SQL 语法有这样的错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“CREATE TABLE barang (id INT NOT NULL AUTO_INCREMENT,nama VARCHAR(50) NOT NULL,ju”附近使用正确的语法

这是我的代码:

try {
    con = DriverManager.getConnection(URL, USER, PASS);
    int answer = JOptionPane.showOptionDialog(this, "Database tidak ditemukan, ingin membuat baru?", "Database not found", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
    if (answer == JOptionPane.YES_OPTION) {
        st = con.createStatement();
        String sql = ("CREATE DATABASE afifdb;"
                    + "CREATE TABLE barang ("
                    + "id INT NOT NULL AUTO_INCREMENT,"
                    + "nama VARCHAR(50) NOT NULL,"
                    + "jumlah INT(11),"
                    + "tanggal DATE,"
                    + "kondisi VARCHAR(20),"
                    + "keterangan VARCHAR(100),"
                    + "PRIMARY KEY (id)"
                    + ");");
        st.executeUpdate(sql);
    }
} catch (HeadlessException | SQLException e3) {
    JOptionPane.showMessageDialog(this, "Gagal. ERROR : " + e3);
}

对不起,我在这个程序中使用了我的语言,希望你不要介意。我会感谢你给予的任何支持。谢谢。

【问题讨论】:

  • 首先我会尝试对每个 sql 使用不同的语句。

标签: java mysql mariadb


【解决方案1】:

executeUpdate()documented

执行给定的 SQL 语句,可能是 INSERT、UPDATE 或 DELETE 语句或不返回任何内容的 SQL 语句,例如 SQL DDL 语句。

注意单数。您的代码有两条 SQL 语句。

尝试将其拆分为两个单独的调用。

作为检查,您的create table 语法looks correct

【讨论】:

    猜你喜欢
    • 2020-02-05
    • 2016-06-29
    • 2022-01-14
    • 2020-04-29
    • 1970-01-01
    • 2021-05-12
    • 2018-11-27
    • 2019-10-24
    • 1970-01-01
    相关资源
    最近更新 更多