【问题标题】:Syntax error when running a MySQL CREATE TABLE statement [duplicate]运行 MySQL CREATE TABLE 语句时出现语法错误 [重复]
【发布时间】:2012-03-26 02:24:07
【问题描述】:
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

关于为什么会出现这种情况的任何帮助?

【问题讨论】:

    标签: mysql sql database syntax


    【解决方案1】:

    代替

    TYPE=INNODB
    

    设置

    Engine=InnoDB
    

    【讨论】:

      【解决方案2】:
      【解决方案3】:

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

      ENGINE = INNODB;
      

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

      【讨论】:

        【解决方案4】:

        尝试以下查询:

        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 ;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-08
          • 1970-01-01
          • 2018-06-06
          • 1970-01-01
          • 2017-06-30
          • 1970-01-01
          • 2021-07-29
          相关资源
          最近更新 更多