首页 文章

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

提问于
浏览
1

我正在为Drupal的模块做一些自定义数据库工作,我在尝试创建表时遇到以下SQL错误:

用户警告:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'DEFAULT NULL,rooms INT DEFAULT NULL,成员INT DEFAULT NULL,子行'第14行查询附近使用正确的语法: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,到达DATETIME DEFAULT NULL,离开DEFAULT NULL,房间INT DEFAULT NULL,成人INT DEFAULT NULL ,children INT DEFAULT NULL,childAges VARCHAR(32)DEFAULT NULL,toddlers INT DEFAULT NULL,toddlerAges VARCHAR(32)DEFAULT NULL,catering VARCHAR(255)DEFAULT NULL,comments VARCHAR(255)DEFAULT NULL,agent VARCHAR(100)DEFAULT NULL ,凭证VARCHAR(100)DEFAULT NULL,PRIMARY KEY(eId))/ *!40100 DEFAU LT CHARACTER在第550行设置UTF8 * / in /home/travelco/public_html/includes/database.inc .

2 回答

  • 1

    '出发'字段似乎没有类型,例如varchar,mediumint等 . 尝试添加一个,看看是否解决了你的问题:)

  • 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 . )

相关问题