2012-12-09 65 views
4

我正在使用包含在我的程序中的SQL文件,並且一旦我解決了一個問題,我能夠在這裏找到答案(謝謝)..我再次運行它並得到了以下錯誤:#1067 - 「會員」的默認值無效

SQL查詢:

# Create table structure for 'member' table 
CREATE TABLE member(

memberID INT(11) NOT NULL AUTO_INCREMENT , 
title VARCHAR(80) NOT NULL DEFAULT '', 
firstname VARCHAR(80) NOT NULL DEFAULT '', 
lastname VARCHAR(80) NOT NULL DEFAULT '', 
email VARCHAR(80) NOT NULL DEFAULT '', 
address VARCHAR(80) NOT NULL DEFAULT '', 
suburb VARCHAR(80) NOT NULL DEFAULT '', 
state VARCHAR(80) NOT NULL DEFAULT '', 
country VARCHAR(80) NOT NULL DEFAULT '', 
postcode VARCHAR(11) NOT NULL DEFAULT '', 
mobile VARCHAR(80) NOT NULL DEFAULT '', 
phone VARCHAR(80) NOT NULL DEFAULT '', 
fax VARCHAR(80) NOT NULL DEFAULT '', 
membership INT(2) NOT NULL DEFAULT '', 
payment INT(2) NOT NULL DEFAULT '', 
startdate BIGINT(14) NOT NULL DEFAULT 0, 
enddate BIGINT(14) NOT NULL DEFAULT 0, 
userID INT(11) NOT NULL , 
PRIMARY KEY (memberID) , 
UNIQUE ( 
memberID 
) 
) ENGINE = MYISAM ; 

MySQL表示:

#1067 - Invalid default value for 'membership' 

我需要更改哪些內容才能完成此項工作?這是一個較老的腳本,但我不夠了解MySQL 5.5版本需要更改哪些內容。

非常感謝您的幫助!

而且我敢肯定會有其他錯誤彈出後,我解決這個問題的..

回答

7

成員列是一個int,但你給它的'默認字符串值。因此,改變

membership INT(2) NOT NULL DEFAULT '', 

membership INT(2) NOT NULL DEFAULT 0, 

+0

謝謝。我確定這一個後糾正了這個和其他一些錯誤。還有一個錯誤,我會把它放在它自己的問題中。 – user1890162

+0

不客氣,歡迎來到StackOverflow。請記住接受正確的答案,或增加其他有用的答案。 – Marvo

0

我得到(0或任何默認值要用於該領域。):

Incorrect integer value: '' for column 'column_name' at row 1 

我已經固定它編輯/etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf文件。然後,找到下面一行:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

和替換它

sql-mode="" 

和重啓MySQL:service mysql restart

相關問題