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

运行MySQL CREATE TABLE语句时出现语法错误,mysql,sql,database,syntax,Mysql,Sql,Database,Syntax,在SQL server上运行此查询时,出现以下错误: 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

在SQL server上运行此查询时,出现以下错误:

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;
关于为什么会出现这种情况有什么帮助吗?

而不是

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
设置


使用
ENGINE=InnoDB


尝试以下查询:

Engine=InnoDB
本手册不包括类型;它似乎使用:

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 ;
这是默认引擎,所以您不需要指定它

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 ;
ENGINE = INNODB;