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

16
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个回答

51

不是

TYPE=INNODB

设置

Engine=InnoDB

6

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 ;

2
创建表的手册中没有包括TYPE,似乎使用了以下语法:CREATE TABLE。请注意保留HTML标签。
ENGINE = INNODB;

这是默认引擎,所以你不需要特别指定它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接