use*_*162 4 mysql mysql-error-1067
我正在使用我的程序中包含的SQL文件,一旦我修复了一个问题,我就能在这里找到答案(谢谢)..我再次运行它并得到以下错误:
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 ;
Run Code Online (Sandbox Code Playgroud)
MySQL说:
#1067 - Invalid default value for 'membership'
Run Code Online (Sandbox Code Playgroud)
为了使这项工作,我需要改变什么?这是一个较旧的脚本,但我不够了解MySQL 5.5版本需要更改的内容.
非常感谢你的帮助!
而且我确定在修复此错误后会出现其他错误.
成员资格列是一个int,但是你给它一个默认的字符串值''.所以改变
membership INT( 2 ) NOT NULL DEFAULT '',
Run Code Online (Sandbox Code Playgroud)
至
membership INT( 2 ) NOT NULL DEFAULT 0,
Run Code Online (Sandbox Code Playgroud)
(0或该字段所需的任何默认值.)