「order」という名前の MySQL テーブルの作成中に SQL 構文エラーが発生しました
PHP スクリプトを使用して「order」という名前の MySQL テーブルを作成すると、「テーブルの作成エラー: SQL 構文に 'order( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id ', p 付近にエラーがあります)」というエラーが発生する場合があります。 . 1 row [duplicate]"。この問題は、SQL ステートメントの構文エラーが原因である可能性があります。
具体的には、予約語「order」が使用されており、正しくエスケープされていないため、構文エラーが発生します。 SQL では、予約語をテーブル名や列名と区別するためにバッククォート (`) を使用してエスケープする必要があります。
このエラーを回避するには、次のように「order」予約語をエスケープします。
<code class="language-sql">CREATE TABLE `order` ( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL, transaction_id VARCHAR(19) NOT NULL, payment_status VARCHAR(15) NOT NULL, payment_amount DECIMAL(6,2) UNSIGNED NOT NULL, payment_date_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (order_id), FOREIGN KEY (user_id) REFERENCES user (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</code>
これを行うと、MySQL は「order」を有効なテーブル名として認識し、テーブルが正常に作成されます。
あるいは、予約語の使用を避け、テーブルに別の名前を使用することもできます。これは、将来の潜在的な構文エラーを防ぐのに役立ちます。
以上が「order」という名前の MySQL テーブルを作成すると SQL 構文エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。