3

コンテキスト: Twitter テキストを MySQL DB にロードしようとしています。一部のツイートには、 java.SQL.Exceptionutf8mb4をスローする文字が含まれています。私はこれを解決し、この投稿に感謝します。

これで、Java コードはエラーなしで実行されます。ただし、select * from test.tweetテーブルで単純な操作を実行できません。

次の SQL エラーが発生します。

エラーコード: 0 45) . 報告してくださいcharsetnr (

SQL コード:

create table test.tweet (
    text varchar(200) character set utf8mb4 collate utf8mb4_unicode_ci not null);

Javaコード:( これが機能することはわかっています)

// create a mysql database connection
        String myDriver = "com.mysql.jdbc.Driver";
        String myUrl = "jdbc:mysql://localhost:3306/test?";
        Class.forName(myDriver).newInstance();
        Connection conn = DriverManager.getConnection(myUrl, "root", "pass");
        PreparedStatement setNames = conn.prepareStatement("SET NAMES 'utf8mb4'");
        setNames.execute();

//Load the tweets into a mySQL DB
                    loadTweets(jsonObject, conn);

このエラーについてインターネット上には何もありません。このエラー メッセージを照会できない理由を教えてください。

エラーコード: 0 45) . 報告してくださいcharsetnr (
MySQL エラー メッセージ

4

2 に答える 2

1

MySQL Workbench では、SET NAMES照合なしで実行すると、そのエラーも発生します。

実行を修正します(照合を適切に変更します):

SET NAMES 'utf8mb4' collate 'utf8mb4_spanish_ci';

接続を作成した後、コードで実行できます。

于 2015-12-03T11:30:57.563 に答える
0

MySQL Workbench でデータベースを作成して操作しようとした後、このエラーが発生しました。Workbench を再起動すると、問題はなくなりました。

于 2015-08-18T04:20:08.367 に答える