2012-07-22 151 views
2

每當我想在MySQL中創建表時,都會收到以下錯誤。#1064 - 您的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 '(32) NOT NULL DEFAULT CURRENT_TIMESTAMP , `visitor_day` SMALLINT(2) NOT NUL' at line 7 

代碼:

CREATE TABLE `visitors_table` (
`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`visitor_ip` VARCHAR(32) NULL , 
`visitor_browser` VARCHAR(255) NULL , 
`visitor_hour` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_minute` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_date` TIMESTAMP(32) NOT NULL DEFAULT CURRENT_TIMESTAMP , 
`visitor_day` SMALLINT(2) NOT NULL , 
`visitor_month` SMALLINT(2) NOT NULL , 
`visitor_year` SMALLINT(4) NOT NULL , 
`visitor_refferer` VARCHAR(255) NULL , 
`visitor_page` VARCHAR(255) NULL 
) TYPE = MYISAM ; 

回答

4

夫婦錯誤的位置固定的:

CREATE TABLE `visitors_table` (
`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`visitor_ip` VARCHAR(32) NULL , 
`visitor_browser` VARCHAR(255) NULL , 
`visitor_hour` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_minute` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
`visitor_day` SMALLINT(2) NOT NULL , 
`visitor_month` SMALLINT(2) NOT NULL , 
`visitor_year` SMALLINT(4) NOT NULL , 
`visitor_refferer` VARCHAR(255) NULL , 
`visitor_page` VARCHAR(255) NULL 
) ENGINE = MYISAM ; 
+0

謝謝你修復它,我會在大約9分鐘內將它標記爲答案。對不起,其他2,只能選擇一個 – MOTIVECODEX 2012-07-22 16:20:08

+1

我已經「糾正」你的NULL到NOT NULL在那裏。我把它們放回去了,但是想確保你有你想要的版本。 – 2012-07-22 16:23:10

3

TIMESTAMP不支持的精度。直到MySQL 5.6,也就是說,亞秒級的分辨率是可能的。

TIMESTAMP定義中刪除(32)

+0

我刪除(32)現在我得到'#1064 - 你在您的SQL語法中有錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在第13行'TYPE = MYISAM'附近使用正確的語法。 Joshua Martell給出了修復方法。 – MOTIVECODEX 2012-07-22 16:19:24

3

TIMESTAMP沒有大小,你應該使用engine代替type

CREATE TABLE `visitors_table` (
`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`visitor_ip` VARCHAR(32) NULL , 
`visitor_browser` VARCHAR(255) NULL , 
`visitor_hour` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_minute` SMALLINT(2) NOT NULL DEFAULT '00', 
`visitor_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , 
`visitor_day` SMALLINT(2) NOT NULL , 
`visitor_month` SMALLINT(2) NOT NULL , 
`visitor_year` SMALLINT(4) NOT NULL , 
`visitor_refferer` VARCHAR(255) NULL , 
`visitor_page` VARCHAR(255) NULL 
) engine = MYISAM ; 
+0

謝謝,我必須將Joshua Martell標記爲已回答,因爲我首先使用他的代碼,它的工作。對不起,但是謝謝你 – MOTIVECODEX 2012-07-22 16:21:35

相關問題