运行MySQL CREATE TABLE语句时出现语法错误

时间:2012-03-08 15:43:34

标签: mysql sql database syntax

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

有关为何会出现此问题的任何帮助?

4 个答案:

答案 0 :(得分:49)

而不是

TYPE=INNODB

Engine=InnoDB

答案 1 :(得分:6)

答案 2 :(得分:2)

尝试以下查询:

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 ;

答案 3 :(得分:2)

CREATE TABLE的手册不包括TYPE;它似乎使用:

ENGINE = INNODB;

这是默认引擎,因此您不需要指定它。