Ralat sintaks SQL semasa membuat jadual MySQL bernama "order"
Apabila menggunakan skrip PHP untuk mencipta jadual MySQL bernama "order", anda mungkin menghadapi ralat: "Cipta jadual ralat: Sintaks SQL anda mempunyai ralat berhampiran 'order( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id ', p . 1 baris [pendua]". Isu ini mungkin disebabkan oleh ralat sintaks dalam pernyataan SQL.
Secara khusus, ralat sintaks berlaku kerana perkataan simpanan "tertib" digunakan dan tidak dilepaskan dengan betul. Dalam SQL, perkataan yang dikhaskan mesti dilepaskan menggunakan tanda belakang (`) untuk membezakannya daripada nama jadual atau lajur.
Untuk mengatasi ralat ini, anda boleh melarikan diri daripada perkataan simpanan "perintah" seperti berikut:
<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>
Dengan melakukan ini, MySQL akan mengenali "pesanan" sebagai nama jadual yang sah dan jadual akan berjaya dibuat.
Sebagai alternatif, anda boleh mengelak daripada menggunakan perkataan yang dikhaskan dan menggunakan nama lain untuk jadual anda. Ini membantu mengelakkan kemungkinan ralat sintaks pada masa hadapan.
Atas ialah kandungan terperinci Mengapa Mencipta Jadual MySQL Bernama 'pesanan' Menghasilkan Ralat Sintaks SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!