当前位置: 首页 > 面试题库 >

Java / Mysql..SQLException:一个表必须至少具有1列SQLState:42000 VendorError:1113

干旺
2023-03-14
问题内容

我有一个连接到数据库的应用程序,如果名称不存在该表,则创建一个表,并添加新的注册用户信息,以便我可以将密码散列到我的登录框中,并将其与数据库匹配,也将被散列。目前,我有以下错误代码。

SQLException: A table must have at least 1 column
SQLState: 42000
VendorError: 1113

此代码段

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class LoadDriver {

public static void sqlDriver(String[] args) throws InstantiationException,
        IllegalAccessException, ClassNotFoundException {
    // TODO Auto-generated method stub

    try {

        Class.forName("com.mysql.jdbc.Driver").newInstance();

        Connection conn = null;
        conn =

        DriverManager
                .getConnection(
                        "jdbc:mysql://dbname.dbwebsite.com:3306",
                        "user", "H45H3DP455W0RD");

        java.sql.PreparedStatement pstmt = conn
                .prepareStatement("USE db_name");
        java.sql.PreparedStatement pstmt2 = conn.
                prepareStatement("CREATE TABLE IF NOT EXISTS db_table");
        java.sql.PreparedStatement pstmt3 = conn.prepareStatement("INSERT INTO db_table (user, pass, repass, name, lame, dob, gender, adds, apt, city, zip, phone, email) VALUES(id int NOT NULL auto_increment, VARCHAR(30) user, VARCHAR(30) pass, VARCHAR(30) repass, VARCHAR(30) name, VARCHAR(30) lname, VARCHAR(10) dob, TEXT gender, TEXT addr, TEXT apt, TEXT city, TEXT zip, TEXT phone, VARCHAR(30) email, PRIMARY KEY(id));");


        pstmt.executeUpdate();
        pstmt2.executeUpdate();
        pstmt3.executeUpdate();

        ResultSet rs = pstmt.executeQuery();
        rs.close();


    } catch (SQLException ex) {
        // handle any errors
        System.out.println("SQLException: " + ex.getMessage());
        System.out.println("SQLState: " + ex.getSQLState());
        System.out.println("VendorError: " + ex.getErrorCode());
    }


}

}

在主班

JButton registerSend = new JButton("Submit");
                            regFrame.add(registerSend, BorderLayout.SOUTH);
                            registerSend
                                    .addActionListener(new ActionListener() {
                                        @Override
                                        public void actionPerformed(
                                                ActionEvent r) {

                                            JFrame gameFrame = new JFrame(
                                                    "Welcome to Heavy Evil");
                                            gameFrame.setBounds(0, 0, 1200,
                                                    800);
                                            gameFrame.setVisible(true);

                                            int id;
                                            String user = tagText.getText();
                                            char[] pass = passText.getPassword();
                                            char[] repass = passConfirm
                                                    .getPassword();
                                            String name = heyText.getText();
                                            String lname = heyText2
                                                    .getText();
                                            String dob = userAge.getText();
                                            String gender = genDer
                                                    .getText();
                                            String addr = heyText3
                                                    .getText();
                                            String apt = heyText4.getText();
                                            String city = heyText5
                                                    .getText();
                                            String zip = heyText6.getText();
                                            String phone = heyText7
                                                    .getText();
                                            String email = heyText8
                                                    .getText();

                                            try {
                                                LoadDriver.sqlDriver(null);


                                            } catch (InstantiationException e) {
                                                // TODO Auto-generated catch
                                                // block
                                                e.printStackTrace();
                                            } catch (IllegalAccessException e) {
                                                // TODO Auto-generated catch
                                                // block
                                                e.printStackTrace();
                                            } catch (ClassNotFoundException e) {
                                                // TODO Auto-generated catch
                                                // block
                                                e.printStackTrace();
                                            }

                                        }
                                    });

问题答案:
CREATE TABLE IF NOT EXISTS db_table

您尚未指定任何列,这正是错误消息告诉您的内容。正确的语法是

CREATE TABLE IF NOT EXISTS db_table (
    column_name1        datatype,
    column_name2        datatype,
    etc.
)


 类似资料:
  • 在测试我的Controller类时,我遇到了这个异常 我的控制器测试类如下所示 我的引导类 我的依赖项如下所示 IllegalArgumentException:必须至少存在一个JPA元模型没有解决我的问题

  • 问题内容: 我正在尝试使用自定义函数创建一个简单的Swift 3模板,以使用Xcode应用程序中的postfix一元运算符来计算百分比。这似乎是一个重复的问题,因为我之前的帖子中接受的答案已经显示了如何在Playground中执行此操作。但是自那以后,我发现自定义函数在Xcode项目中的工作方式不同。 在 下面 的模板 中 ,我声明了(或至少我相信我这样做了)。但是,在声明后缀函数时,Xcode建

  • 问题内容: 在开始使用spring rest时,我得到了如下错误 用下面的代码 以下是我的pom.xml UTF-8 UTF-8 1.8 请帮我。我不知道如何解决这个错误 问题答案: 你已添加 在你的pom.xml中。 Spring Boot会尝试自动为JPA创建实体工厂,但是你尚未定义有关JPA模型的任何内容。 尝试将其删除,以测试到目前为止你做了什么。

  • 从spring rest开始时,我得到以下错误: 带有以下代码 UTF-8 UTF-8 1.8 请帮帮我.我不知道如何解决这个错误

  • 我的父母POM是: 我还添加了JPA: 注意:当我降级到2.0.1时,它可以工作。这是2.0.2中的bug吗??

  • 问题内容: 我是React的新手,我想知道这里的标准是什么。 想象一下,我有一个像这样的反应路由器: 现在我想删除如果设置为的两条路线,因此一种理智的做法如下所示: 但是有两条路线,React返回错误: 表达式必须具有一个父元素。 我不想在这里使用多个ifs。React首选的处理方式是什么? 问题答案: 将它们放在一个数组中(也分配键): 使用最新的React版本,您也可以这样尝试 :