Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL语法错误_Mysql_Sql - Fatal编程技术网

Mysql SQL语法错误

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

MySQL说:

#1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 在“
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:请阅读手册;所有这些信息都在那里(&)。