2013-07-04 175 views
0

我有点困惑,我的语法有什么问题?MySQL错误语法

CREATE TABLE `users` (
`userId` int(7) NOT NULL AUTO_INCREMENT, 
`firstName` varchar(30) NOT NULL, 
`lastName` varchar(30) NOT NULL, 
`gender` varchar(1) NOT NULL, 
`birthday` datetime NOT NULL, 
`city` varchar(20) NOT NULL, 
`province` varchar(20) NOT NULL, 
`postalCode` varchar(6) NOT NULL, 
`country` varchar(20) NOT NULL, 
`email` varchar(30) NOT NULL, 
`password` varchar(32) NOT NULL, 
`bio` text NOT NULL, 
`active` int(1) NOT NULL DEFAULT(0), 
PRIMARY KEY (`userId`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

这是从SQL导出自动生成的。它提供了以下错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(0), PRIMARY KEY (userId)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCR' at line 14

回答

4

指定默认值为话不对,没有必要括号

的更换

`active` int(1) NOT NULL DEFAULT (0), 

`active` int(1) NOT NULL DEFAULT 0, 
+0

你已经得到了两个反向 - OP需要用'0'代替'(0)'。 - 编辑你去:) –

+0

@Grim ...谢谢我更新mycode – PSR

+0

这样做,欢呼! –