-2

したがって、次のコードでこのテーブル usr を作成しようとしています。

psCreateTable = con.prepareStatement("CREATE TABLE usr (pk_ID Integer NOT NULL, username VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, firstname VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, admin BOOL DEFAULT FALSE, PRIMARY KEY(pk_ID))");
psCreateTable.execute();

コードを実行すると、次の例外が発生します。

java.sql.SQLSyntaxErrorException: TYPE 'BOOL' does not exist

別のテーブルからコピーペーストされたものなので、これは間違いなく問題なく機能するはずです。では、なぜ機能しないのでしょうか。

助言がありますか?

ありがとう。

4

3 に答える 3

1
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.*;

public class Test {
public static void main(String args[]) throws SQLException {
String url = "jdbc:mysql://localhost:3306/rms";
String driver = "com.mysql.jdbc.Driver";
Connection conn = null;
try {
    conn = DriverManager.getConnection(url,"username","password");
} catch (SQLException e2) {
    e2.printStackTrace();
}

PreparedStatement pstmt = conn.prepareStatement("CREATE TABLE usr (pk_ID Integer NOT NULL, username VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, firstname VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, admin BOOL DEFAULT FALSE, PRIMARY KEY(pk_ID))");

        pstmt.executeUpdate();

        conn.close();
      }
 }

このコードは私のシステムで完全に正常に動作し、テーブルを作成しました。再度ご確認いただけますでしょうか。

于 2012-10-30T05:41:38.470 に答える
0

あなたのクエリはすべて問題ないようです。psCreateTable.executeUpdate();の代わりに使用する必要があると思いますpsCreateTable.execute();。これを試して、私に知らせてください。

また、@all http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html Bool と tinyint(1) は同義語です。

于 2012-10-30T04:57:29.553 に答える
0

こんにちは私は編集しましたこのコードを試してください、、

try
            {
            Statement stmt;
            stmt=con.createStatement();
            stmt.executeUpdate("CREATE TABLE usr (pk_ID Integer NOT NULL, username VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, firstname VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, admin BOOL DEFAULT FALSE, PRIMARY KEY(pk_ID))");
            }catch(Exception ex)
            {
                System.out.println(""+ex);
            }

ありがとうございました

于 2012-10-30T05:00:26.260 に答える