Mysql の例外 'SET OPTION SQL_SELECT_LIMIT=DEFAULT' です。
ハイブを使用する際、このような例外が発生しました。ハイブのメタデータはmysqlのデータベースに保存されているため、ハイブのテーブルの操作は、それに応じてデータベースのテーブルのデータを操作することになり、問題はテーブルを削除するときに発生し、作成時には例外は発生しませんでした。資料を参照したところ、mysqlはjdbc経由でリンクする際に「SET OPTION SQL_SELECT_LIMIT=DEFAULT」をテストするが、バージョン5.6以降ではセットメソッドは非推奨であることがわかりました。
例外情報
NestedThrowablesStackTrace:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
例外解析
私はデータベースバージョン5.7を使用していますが、ドライババージョン5.1.8で、現在5.7データベースでサポートされているセット文は次のとおりです。
https://dev.mysql.com/doc/refman/5.7/en/set-statement.html
The SET statement has several forms:
SET var_name = value enables you to assign values to variables that affect the operation of the server or clients. See Section 14.7.4.1, "SET Syntax for Variable Assignment".
SET CHARACTER SET and SET NAMES assign values to character set and collation variables associated with the current connection to the server. 14.7.4.2, "SET CHARACTER SET Syntax", and Section 14.7.4.3, "SET NAMES Syntax".
SET PASSWORD assigns account passwords. See Section 14.7.1.7, "SET PASSWORD Syntax".
SET TRANSACTION ISOLATION LEVEL sets the isolation level for transaction processing. See Section 14.3.6, "SET TRANSACTION Syntax ".
セットオプション SQL_SELECT_LIMIT...は非推奨です。また、この構文は 5.6 以降では削除されています。
5.6 関連する設定ディレクティブ
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_sql_select_limit
しかし、ドライバのバージョンが低い場合、以前のsetコマンドをそのまま使用するとエラーになります。
解決方法
ドライバのバージョンとデータベースのバージョンをできるだけ対応させてアップグレードしてください。この問題は、5.1.22以上に変更することで解決します。
StackOverflowを使用する
http://stackoverflow.com/questions/15669270/option-sql-select-limit-default
関連
-
[解決済み】mysqld_safe UNIX ソケットファイル用のディレクトリ '/var/run/mysqld' が存在しません。
-
[解決済み] #1136 - 列数が 1 行目の値数と一致しません。
-
[解決済み] <TABLE> のテーブルストレージエンジンには、order by クエリでこのオプションがありません (ERROR 1031)。
-
[解決済み] ルートユーザーでログインしているのに、phpMyAdminがデータベースを作成する権限がないと言う
-
[解決済み] MySQLの更新datetimeフィールド
-
[解決済み] MySQLで "no "キーワードは何に使うのですか?
-
[解決済み] エラー1044 (42000)。すべての権限を持つ'root'のためのアクセスが拒否されました。
-
[解決済み] centosです。同じunixソケットで別のMySQLデーモンがすでに動作しています。
-
[解決済み] ビューの SELECT には FROM 句にサブクエリが含まれています。
-
肝試し3万語❤️最もハードコアな丨Mysql知識体系、コマンドのフルセット【おすすめコレクション】❤️|電子書籍ストア「BookLive!
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラーコード1292 - 不正なDOUBLE値の切り捨て - Mysql
-
[解決済み】MySQLエラー1264:カラムの範囲外の値
-
[解決済み】SQL ZOO 各大陸とアルファベット順で1位の国名をリストアップする
-
[解決済み] エラー 1115 (42000)。不明な文字セットです。'utf8mb4'
-
[解決済み] WHEREで集計関数は使用できません "というエラーを回避する方法
-
[解決済み] MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175が発生する
-
[解決済み] MySQL エラー 1241。オペランドには1つのカラムが含まれている必要があります。
-
[解決済み] エラー1022 - 書き込みできません; テーブルに重複したキーがあります。
-
[解決済み] cygwinからmysqlに接続する
-
[解決済み] フォワードエンジニアはMySQL Workbenchで何もしていない