CREATE TABLE `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`type` ENUM( `member` , `admin` ) NOT NULL ,
`username` VARCHAR( 30 ) NOT NULL ,
`email` VARCHAR( 80 ) NOT NULL ,
`pass` VARBINARY( 32 ) NOT NULL ,
`first_name` VARCHAR( 20 ) NOT NULL ,
`last_name` VARCHAR( 40 ) NOT NULL ,
`date_expires` DATE NOT NULL ,
`date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`date_modified` TIMESTAMP NOT NULL DEFAULT `0000-00-00 00:00:00` ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `username` ( `username` ) ,
UNIQUE KEY `email` ( `email` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8;
MySQL说:
#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近'
member
,admin
)NOT NULL,username
VARCHAR(30)NOT NULL, 第3行
我使用的共享服务器使用4.4。谢谢阅读。我是一个绝对的新手,只学习了一个月的php / mysql,所以请以外行的方式说。
答案 0 :(得分:5)
您需要引用ENUM值
type ENUM( 'member' , 'admin' ) NOT NULL ,
不像你现在那样反击它们
这条线也是一样
`date_modified` TIMESTAMP NOT NULL DEFAULT `0000-00-00 00:00:00`
应该是
`date_modified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'
答案 1 :(得分:1)
This页面表明您的ENUM值应为字符串,因此需要用单引号括起来。
type ENUM( 'member' , 'admin' ) NOT NULL
答案 2 :(得分:0)
okey在这里解决了它是:)
CREATE TABLE `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
type ENUM( 'member' , 'admin' ) NOT NULL ,
`username` varchar(30) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`first_name` varchar (15) NOT NULL,
`last_name` varchar (30) NOT NULL,
`gender` ENUM('male', 'female') NOT NULL default 'male',
`email` varchar(50) NOT NULL default '',
`skype` varchar(50) NOT NULL default 'Not Specified',
`facebook` varchar(150) NOT NULL default 'Not Specified',
`location` varchar(100) NOT NULL default 'Not Specified',
PRIMARY KEY (`id`),
UNIQUE KEY (`email`),
KEY (`email`, `password`)
) ENGINE = MYISAM DEFAULT CHARSET = utf8;