1

在 phpmyadmin 中创建表显示以下错误![在此处输入图像描述][1] 错误

SQL查询:

CREATE TABLE `user` (
`usrID` BIGINT( 11 ) NOT NULL ,
`name` VARCHAR( 100 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
`mobile` VARCHAR( 10 ) NOT NULL ,
`gender` CHAR( 10 ) NOT NULL ,
`countryID` INT( 11 ) NULL ,
`stateID` INT( 11 ) NULL ,
`cityID` INT( 11 ) NULL ,
`pincode` VARCHAR( 6 ) NULL ,
`place` VARCHAR( 100 ) NULL ,
`address` VARCHAR( 200 ) NULL ,
`usertype` VARCHAR( 5 ) NULL ,
`pass` VARCHAR( 20 ) NULL ,
`edate` DATETIME NULL ,
`eusrID` INT( 11 ) NULL ,
`busrID` INT( 11 ) NULL ,
`adminID` INT( 11 ) NULL ,
`active` SET( 1 ) NOT NULL
) ENGINE = innodb

MySQL 说:文档

#1064- 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '1) NOT NULL) ENGINE = innodb' 附近使用正确的语法

4

2 回答 2

2

的值1应该用单引号括起来。有关详细信息,请参见此处。

`active` SET( '1' ) NOT NULL

SQLFiddle 演示

于 2012-10-20T06:53:50.523 回答
0

SET例如,为该列获取许多可能的字符串值;

`color` SET('red', 'green', 'blue')

这意味着该列可以具有值'red','red,blue''red,green,blue'

你的定义;

`active` SET(1)

真的没有任何意义。您正在寻找一个布尔标志 ( INT(1)) 或者您需要列出该字段可能具有的值。请注意,这SET('yes','no')将允许所有值'yes'和(组合) 'no''yes,no'这可能不是active标志的最佳选择。

于 2012-10-20T07:05:57.467 回答