2012-11-20 50 views
0
CREATE TABLE IF NOT EXISTS `users` (  
`id` int(11) NOT NULL auto_increment,  
`username` varchar(32) NOT NULL,  
`password` varchar(32) NOT NULL,  
`online` int(20) NOT NULL default '0′,  
`email` varchar(100) NOT NULL,  
`active` int(1) NOT NULL default '0′,  
`rtime` int(20) NOT NULL default '0′,  
PRIMARY KEY (`id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

這是原來的phpMyAdmin的錯誤信息,當我輸入上面的SQL所示的代碼來創建表: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 
'`password` varchar (32) NULL, `On-line` int NOT (20) NULL default '0 ', NON ' 
at line 4 

我想了解這段代碼也應正確寫入什麼是錯的!

+2

檢查這部分''0','! –

+0

奇怪的是,你的代碼有'在線'欄,但是錯誤信息正在抱怨'在線'。 – Artemix

回答

0

您應該刪除奇怪的'0′int默認值報價。這應該適合你:

CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL auto_increment, 
    `username` varchar(32) NOT NULL, 
    `password` varchar(32) NOT NULL, 
    `online` int(20) NOT NULL default 0, 
    `email` varchar(100) NOT NULL, 
    `active` int(1) NOT NULL default 0, 
    `rtime` int(20) NOT NULL default 0, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
0

問題是你沒有正確地關閉你報價。您有'0′而不是'0'

因爲列被定義爲整數,所以您可以根據需要修復它們以排除引號。