Подтвердить что ты не робот

Ошибка синтаксиса при выполнении оператора MySQL CREATE TABLE

CREATE TABLE users (
user_id     INT(8) NOT NULL AUTO_INCREMENT,
user_name   VARCHAR(30) NOT NULL,
user_pass   VARCHAR(255) NOT NULL,
user_email  VARCHAR(255) NOT NULL,
user_date   DATETIME NOT NULL,
user_level  INT(8) NOT NULL,
UNIQUE INDEX user_name_unique (user_name),
PRIMARY KEY (user_id)
) TYPE=INNODB;

При запуске этого запроса на SQL-сервере возникает следующая ошибка:

1064- 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 'TYPE=INNODB' at line 10

Любая помощь в том, почему это происходит?

4b9b3361

Ответ 1

Вместо

TYPE=INNODB

набор

Engine=InnoDB

Ответ 3

Попробуйте выполнить следующий запрос:

CREATE TABLE IF NOT EXISTS `users` (
    `user_id` int(8) NOT NULL AUTO_INCREMENT,
    `user_name` varchar(30) NOT NULL,
    `user_pass` varchar(255) NOT NULL,
    `user_email` varchar(255) NOT NULL,
    `user_date` datetime NOT NULL,
    `user_level` int(8) NOT NULL,
    PRIMARY KEY (`user_id`),
    UNIQUE KEY `user_name_unique` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Ответ 4

Руководство для CREATE TABLE не включает TYPE; он, по-видимому, использует:

ENGINE = INNODB;

И это механизм по умолчанию, поэтому вам не нужно его указывать.