Ошибка при создании таблицы: у вас есть ошибка в синтаксисе SQL рядом с 'order (order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id' в строке 1 [дубликат]
На этот вопрос уже есть ответ здесь:
Синтаксическая ошибка из-за использования зарезервированного слова в качестве имени таблицы или столбца в MySQL 1 ответЯ пытаюсь создать 2 таблицы в одной базе данных MySQL с помощью PHP-скрипта: table 'пользователь» с первичным ключомИдентификатор пользователя' и столикпорядок' с первичным ключомномер заказа' и внешний ключИдентификатор пользователя' от 'пользователь» таблица (отношение 1 ко многим).
Пользователь таблицы успешно создает без проблем:
$sql="CREATE TABLE user(
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
type ENUM('member','admin') NOT NULL,
username VARCHAR(30) NOT NULL,
email VARCHAR(80) NOT NULL,
pass VARBINARY(32) NOT NULL,
first_name VARCHAR(40) NOT NULL,
last_name VARCHAR(40) NOT NULL,
date_expires DATE NOT NULL,
date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
date_modified TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (user_id),
UNIQUE (username),
UNIQUE (email)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
Однако я не могу создать порядок таблиц:
$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";
Я получаю следующую ошибку:
Error creating table: 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 'order( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id ' at line 1
Уже проверил синтаксис и не могу найти ошибку. Не могли бы вы посоветовать, что пошло не так? Большое спасибо.