我正在为Drupal的模块做一些自定义数据库工作,我在尝试创建表时遇到以下SQL错误:
用户警告:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第14行查询时使用“DEFAULT NULL,
rooms
INT DEFAULT NULL,adults
INT DEFAULT NULL,children
'附近使用正确的语法: CREATE TABLE dr_enquiry(eId
INT unsigned NOT NULL auto_increment,eKey
VARCHAR(16)NOT NULL,dateSent
INT NOT NULL DEFAULT 0,status
VARCHAR(30)NOT NULL DEFAULT '未答复',custName
VARCHAR(50)NOT NULL,custEmail
VARCHAR(200)NOT NULL,custPhone
VARCHAR(25)NOT NULL,custCountry
VARCHAR(40)NOT NULL,custIP
VARCHAR(11)DEFAULT NULL,offerName
VARCHAR(100)NOT NULL,offerURL
VARCHAR(200)NOT NULL,arrival
DATETIME DEFAULT NULL,{{1 DEFAULT NULL,departure
INT DEFAULT NULL,rooms
INT DEFAULT NULL,adults
INT DEFAULT NULL,children
VARCHAR(32)DEFAULT NULL,childAges
INT DEFAULT NULL,toddlers
VARCHAR(32)DEFAULT NULL,toddlerAges
VARCHAR(255)DEFAULT NULL,catering
VARCHAR(255)DEFAULT NULL,comments
VARCHAR(100)DEFAULT NULL ,agent
VARCHAR(100)DEFAULT NULL,PRIMARY KEY(eId))/ *!40100 DEFAULT CHARACTER SET UTF8 * / in / home / travelco / public_html / includ es / database.inc在550行。
答案 0 :(得分:1)
'出发'字段似乎没有类型,例如varchar,mediumint等。尝试添加一个并查看是否能解决您的问题:)
答案 1 :(得分:0)
未使用DEFAULT
约束设置可为空性。因此,编译器会在DEFAULT NULL
的每个实例上进行跟踪。因此,create语句应如下所示:
CREATE TABLE dr_enquiry (
eId INT unsigned NOT NULL auto_increment
, eKey VARCHAR(16) NOT NULL
, dateSent INT NOT NULL DEFAULT 0
, status VARCHAR(30) NOT NULL DEFAULT 'Unanswered'
, custName VARCHAR(50) NOT NULL
, custEmail VARCHAR(200) NOT NULL
, custPhone VARCHAR(25) NOT NULL
, custCountry VARCHAR(40) NOT NULL
, custIP VARCHAR(11) NULL
, offerName VARCHAR(100) NOT NULL
, offerURL VARCHAR(200) NOT NULL
, arrival DATETIME NULL
, departure DATETIME NULL
, rooms INT NULL
, adults INT NULL
, children INT NULL
, childAges VARCHAR(32) NULL
, toddlers INT NULL
, toddlerAges VARCHAR(32) NULL
, catering VARCHAR(255) NULL
, comments VARCHAR(255) NULL
, agent VARCHAR(100) NULL
, voucher VARCHAR(100) NULL
, PRIMARY KEY (eId)
)
(哦,离开并没有像富豪提到的数据类型。我认为它是DateTime
。)