«У вас ошибка в синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MariaDB - PullRequest
1 голос
/ 08 октября 2019

Я пытался создать таблицу в своей базе данных, но каждый раз, когда я пытаюсь это сказать, успешно подключен. Не удалось создать таблицу.

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near Order( Order_id int(8) AUTO_INCREMENT, Cus_id int(8), Order_date at line 1

Не удалось создать таблицу.

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Order(Order_id))' at line 8

Я включил приведенный ниже код и изображение сообщения об ошибке.

$sql="CREATE TABLE Order(
Order_id int(8) AUTO_INCREMENT,
Cus_id int(8),
Order_date TIMESTAMP,
Primary Key (Order_id),
Foreign Key (Cus_id) References Customer(Cus_id))";

$sql="CREATE TABLE OrderLine(
Order_id int(8),
P_code int(8),
Quantity float,
Price float,
Constraint PK_Orderline Primary Key (P_code,Order_id),
Foreign Key (P_code) References Product(P_code),
Foreign Key (Order_id) References Order(Order_id))";[enter image description here][1]

1 Ответ

1 голос
/ 08 октября 2019

ORDER является зарезервированным ключевым словом , поэтому, если вы хотите использовать это имя, вам нужно указать его с экранированием обратными чертами:

CREATE TABLE `Order` (...);

Обычно лучше избегать таблицы илиимена столбцов, которые конфликтуют с внутренними компонентами MySQL, поэтому, если это можно переименовать, подумайте об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...