在phpmyadmin中创建一个表,它显示了以下错误
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 = innodbMySQL说:文档
#1064-您的SQL语法有一个错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用接近“1) NULL) ENGINE = innodb‘的正确语法。
发布于 2012-10-20 06:53:50
1的值应该用单引号包装。详情见这里。
`active` SET( '1' ) NOT NULLSQLFiddle演示
发布于 2012-10-20 07:05:57
例如,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标志的最佳选择。
https://stackoverflow.com/questions/12986039
复制相似问题