SQL语法问题(可能很简单)

时间:2010-04-17 17:11:37

标签: sql mysql drupal

我正在为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行。

2 个答案:

答案 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。)