Mysql SQL语法错误
MySQL说: #1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 在“Mysql SQL语法错误,mysql,sql,Mysql,Sql,MySQL说: #1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 在“member,admin)附近不为空,usernameVARCHAR(30)不为空, emailVARCHAR(80)”第3行 我使用的共享服务器使用4.4。谢谢你的阅读。我是一个完全的新手,只学了一个月的php/mysql,所以请用外行的话来说。您需要引用枚举值 CREATE TABLE `users` ( `id` INT UNSIGNED NOT NULL AUTO
member
,admin
)附近不为空,username
VARCHAR(30)不为空,
email
VARCHAR(80)”第3行
我使用的共享服务器使用4.4。谢谢你的阅读。我是一个完全的新手,只学了一个月的php/mysql,所以请用外行的话来说。您需要引用枚举值
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;
不要像现在这样反勾选它们
这条线也是一样
type ENUM( 'member' , 'admin' ) NOT NULL ,
应该是
`date_modified` TIMESTAMP NOT NULL DEFAULT `0000-00-00 00:00:00`
您需要引用枚举值
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;
不要像现在这样反勾选它们
这条线也是一样
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'
页面指示枚举值应该是字符串,所以需要用单引号括起来
`date_modified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'
好的,这里修好了,是吗:)
好的,这里修好了,是吗:)
发布时不要使用标记(例如
)。改为使用“编辑”工具栏中的“代码段”切换。看起来您对上一期的内容补偿过度了。@Paul Bellora:就是这样,格式被#弄糊涂了character@Mchl-我的意思是,他的表/列名使用了单引号,看起来他对所有内容(包括枚举)都使用了反勾号。不要使用标记(例如
)发帖时。改用“编辑”工具栏中的“代码”部分切换。看起来你对上一期的文章补偿过度了。@Paul Bellora:就是这样,格式被#弄糊涂了character@Mchl-我的意思是,他的表/列名使用了单引号,看起来他对所有内容(包括枚举)都使用了反勾号。谢谢@Anthony Grist&@Mchl。这可能是一个非常愚蠢的问题,但为什么在这里使用“而不是”呢?因为反勾号“用于表示数据库对象,如表和列,而”用于分隔字符串值。@Matthew:请阅读手册;所有这些信息都在那里(&)。谢谢@Anthony Grist&@Mchl。这可能是一个非常愚蠢的问题,但为什么在此处使用“backticks”而不是“here”?因为“backticks”用于表示表和列之类的数据库对象,而“backticks”用于分隔字符串值。@Matthew:请阅读手册;所有这些信息都在那里(&)。