ホームページ >データベース >mysql チュートリアル >「トランザクション」テーブルの作成時に SQLite クエリが「83 行目付近: 構文エラー」で失敗するのはなぜですか?

「トランザクション」テーブルの作成時に SQLite クエリが「83 行目付近: 構文エラー」で失敗するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-31 02:38:10639ブラウズ

Why Does My SQLite Query Fail with

とらえどころのない SQLite 構文エラーの解明

「Transaction.」という名前のテーブルを作成するときに、謎の「Near line 83: syntax error」が発生します。 」このエラーは困惑する可能性がありますが、解決策は SQLite の予約キーワードを理解することにあります。

SQLite の予約名

"Transaction" は SQLite の予約名の 1 つです。これは、SQLite が特定の目的で内部的に使用することを意味します。予約名をテーブル名として使用しようとすると、前述の構文エラーが発生します。

問題の解決

この問題を修正するには、次の 2 つのオプションがあります。

  1. テーブルの名前を変更します: テーブルの名前を選択します。予約名ではありません。
  2. テーブル名を引用します: 予約名を単一 ('トランザクション')、二重 ("トランザクション")、四角形 ([トランザクション])、またはバッククォートで囲みます。 (トランザクション) 引用符。これにより、予約されたキーワードとしてではなく、文字通り名前を使用していることが SQLite に通知されます。

例:

CREATE TABLE "Transaction" (
...
);

引用符を使用していることに注意してください。 SQL でのマークは、プログラミング言語での String データ型の使用と同じではありません。

Byこの予約キーワードの競合を解決すると、「トランザクション」テーブルを正常に作成し、外部キーの整合性チェックを続行できます。

以上が「トランザクション」テーブルの作成時に SQLite クエリが「83 行目付近: 構文エラー」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。