MySQL java.sql.SQLSyntaxErrorException: SQL 構文キーワード例外処理にエラーがあります。

1. 異常なエラー

mybatis を使用してデータを挿入すると、java.sql.SQLSyntaxErrorException が発生する

エラー「原因: java.sql.SQLSyntaxErrorException: SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを確認して、14 行目の「」付近で使用する正しい構文を確認してください。

Uncaught (in promise) Error: 
### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: 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 'group,
            device_sort,
            
            create_time ) 
        ' at line 4
### The error may exist in file [D:\Project\zdhzyjy\remote-burning\ruoyi-device\target\classes\mapper\device\DevDeviceMapper.xml]
### The error may involve com.ruoyi.device.mapper.DevDeviceMapper.insertDevDevice-Inline
### The error occurred while setting parameters
### SQL: insert into dev_device          ( name,             port,             group,             device_sort,                          create_time )           values ( ?,             ?,             ?,             ?,                          ? )
### Cause: java.sql.SQLSyntaxErrorException: 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 'group,
            device_sort,
            
            create_time ) 
        ' at line 4
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: 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 'group,
            device_sort,
            
            create_time ) 
        ' at line 4
    at _default (request.js:93:1)

2、その理由

リキベースの答え:

SQL 構文にエラーがあります。14 行目の「」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

ここに画像の説明を挿入

このエラーは非常によくあることですが、これは本当です。ほとんどの場合、私たちは人間であり、SQL 構文で頻繁に間違いを犯すことが原因です。予約語の使用、データベース内のデータの欠落、またはコマンドの入力ミスや時代遅れが原因である可能性があります
。とてもよくあること、それは本当です。これは主に、私たちは人間であり、SQL 構文で間違いを犯すことが多いためです。これは、予約語の使用、データベース内のデータの欠落、またはコマンドのタイプミスまたは廃止が原因である可能性があります。

InMotion Hosting には、ここに優れたトラブルシューティング ガイドがあります: InMotion
Hosting には、ここに優れたトラブルシューティング ガイドがあります:

MySQL 1064 エラー: SQL 構文にエラーがあります – InMotion
ホスティング サポート センター 82。 MySQL 1064 エラー: SQL 構文にエラーがあります – InMotion
ホスティング サポート センター 82。

inomotion回答:

ここに画像の説明を挿入

MySQL 1064 エラー: SQL の構文にエラーがあります
更新者: Scott Mitchell on Feb 01, 2021
3:55 min read

したがって、データベース内のタスクを実行するためのカスタム SQL クエリを作成していることになります。コードをまとめて PHPmyAdmin で実行すると、1064
エラーが返されます。次のようになります。
ここに画像の説明を挿入

1064 エラー メッセージ 1064 エラーは、SQL 構文に問題がある場合に表示されます。
通常、予約語の使用、データベース内のデータの欠落、またはコマンドの入力ミスや廃止が原因です。
したがって、 1064 エラーの内容、考えられる原因、および一般的なトラブルシューティング手順について詳しく読んでください。

注: 長いクエリでは構文エラーを見つけるのが難しい場合があるため、次のオンライン ツールを使用すると、コードを調べて問題を特定することで時間を節約できます。

PiliApp MySQL 構文チェッカー
EverSQL SQL クエリ構文チェッカーおよびバリデータ

概要: group は MySql のキーワードです。これを直接使用すると、例外が報告されます。フィールド名を変更するか、エスケープ文字を使用する必要があります。
ここに画像の説明を挿入

3. 解決策

1. グループフィールド名を変更し、プレフィックスを追加します

ここに画像の説明を挿入

2.` (キーボード番号 1 の左側のキー) は MySQL のエスケープ文字で、キーワードの競合を避けるために使用されます。

たとえば、insert ステートメントには次のように記述できます。

SELECT `group` FROM table;

おすすめ

転載: blog.csdn.net/qq_46207024/article/details/131327978
おすすめ