2012-12-09 36 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

相关问题