Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Mysql..SQLException:表必须至少有1列SQLState:42000 VendorError:1113_Java_Mysql - Fatal编程技术网

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

Java/Mysql..SQLException:表必须至少有1列SQLState:42000 VendorError:1113,java,mysql,Java,Mysql,我有一个连接到数据库的应用程序,如果数据库名称不存在,则创建一个表,并添加新的注册用户信息,这样我就可以将密码散列到我的登录框架中,并将其与也将被散列的数据库相匹配。目前我有以下错误代码 SQLException: A table must have at least 1 column SQLState: 42000 VendorError: 1113 使用此代码段 import java.sql.Connection; import java.sql.DriverManager; impor

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

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 (
    column_name1        datatype,
    column_name2        datatype,
    etc.
)

首先阅读错误消息。一个表必须至少有一列。我的主类中有@SuppressWarnings,这是确定的还是应该在结果集中创建它?对不起,这个问题没有意义@SuppressWarnings与SQL无关。您似乎没有领会我回答的要点。
create table
语句的语法不正确。你修好了吗?我会的,但除非我能将我的JTextArea.method添加到我的数据库文件中,“…将我的JTextArea方法添加到我的数据库文件中”——这同样没有意义。关于这一点,你可能应该问一个新问题,并试图清楚地解释你不理解的地方。
CREATE TABLE IF NOT EXISTS db_table (
    column_name1        datatype,
    column_name2        datatype,
    etc.
)