错误代码:1064 SQL语法错误

时间:2015-11-17 05:03:40

标签: mysql sql

我正在尝试执行以下查询并收到错误。 请建议我在哪里做错了。 提前谢谢......

CREATE TABLE users 

(
 id INTEGER PRIMARY KEY AUTOINCREMENT,
   username char varying(100) NOT NULL UNIQUE,
   password character varying(100) NOT NULL, 
   group_id text,
   created timestamp,
   modified timestamp
   );

2 个答案:

答案 0 :(得分:3)

CREATE TABLE users9
(   id int auto_increment primary key,
    username char varying(100) NOT NULL UNIQUE,
    password character varying(100) NOT NULL,
    group_id text,
    created timestamp,
    modified timestamp
);

仅仅是一两个错字。请参阅Using AUTO_INCREMENT

上的手册页

哪个有趣。因为大多数人都不这样做;以这种方式创建表格。最后,可以执行show create table users9来显示

CREATE TABLE `users9` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `group_id` text,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

显示架构。

这有助于那些尝试调试后续编程问题的人。

答案 1 :(得分:1)

您需要使用AUTO_INCREMENT而不是AUTOINCREMENT

CREATE TABLE users
(
id INTEGER PRIMARY KEY AUTO_INCREMENT ,
username char varying(100) NOT NULL UNIQUE,
password character varying(100) NOT NULL,
group_id text,
created timestamp,
modified timestamp
);

请参阅 SQL FIDDLE DEMO