#1064创建用户表时出错

时间:2014-02-24 08:30:23

标签: mysql sql syntax-error

希望今晚我的最后一个问题。我搜索了StackOverflow给出的建议答案,但找不到一个来修复我的。这是我的代码:

 CREATE TABLE `user_accounts` (
   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
   `email` text ,
   `password` char(32) DEFAULT NULL ,
   `active` tinyint DEFAULT '0' ,
   `groups` text ,
   `activation_key` varchar(32) DEFAULT NULL ,
   `extras` text ,
   `PRIMARY KEY (`id`),
)   DEFAULT CHARSET=utf8;

这是我的错误:

    #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 'id`), ) DEFAULT CHARSET=utf8' at line 9

第9行是PRIMARY KEYid

我没有正确定义某些内容吗?

2 个答案:

答案 0 :(得分:3)

最后有一个额外的逗号,在PRIMARY KEY之前有额外的反引号

CREATE TABLE `user_accounts` (
   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
   `email` text ,
   `password` char(32) DEFAULT NULL ,
   `active` tinyint DEFAULT '0' ,
   `groups` text ,
   `activation_key` varchar(32) DEFAULT NULL ,
   `extras` text ,
   PRIMARY KEY (`id`)
)   DEFAULT CHARSET=utf8;

See fiddle demo

答案 1 :(得分:-1)

试试这个:

CREATE TABLE `user_accounts` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `email` text,
  `password` char(32) DEFAULT NULL,
  `active` tinyint(4) DEFAULT '0',
  `groups` text,
  `activation_key` varchar(32) DEFAULT NULL,
  `extras` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8