首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL用于Concrete5数据库

MySQL用于Concrete5数据库
EN

Stack Overflow用户
提问于 2014-06-30 19:30:31
回答 1查看 560关注 0票数 1

我在Concrete5中添加一个自定义块。块的db.xml文件如下所示:

代码语言:javascript
复制
<?xml version="1.0"?>
  <schema version="0.3">
    <table name="btConferences">
      <field name="bID" type="I">
        <key />
        <unsigned />
      </field>
      <field name="title" type="C"></field>
      <field name="openDate" type="TS"></field>
      <field name="closeDate" type="TS"></field>
      <field name="overview" type="X2"></field>
    </table>
  </schema>

不幸的是,尽管我认为这个db.xml很简单,但Concrete5不会在没有错误的情况下加载它。当我试图安装这个块时,我会收到以下消息:

mysqlt error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' openDate DATETIME, closeDate DATETIME, overview ' at line 3] in EXECUTE("CREATE TABLE btConferences ( bID INTEGER UNSIGNED NOT NULL, title VARCHAR, openDate DATETIME, closeDate DATETIME, overview LONGTEXT, PRIMARY KEY (bID) )")

不幸的是,我在SQL方面还不够好,无法在这里发现错误。如果有人能指出错误,我可能可以修复db.xml

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-30 19:41:17

VARCHAR要求您指定一个字符大小,这样MySQL就可以计算出为该字段分配多少空间。您没有尺寸规范,所以这是一个错误:

代码语言:javascript
复制
foo VARCHAR,     // wrong, no size
foo VARCHAR(10), // correct, 10 chars max.

例如:

代码语言:javascript
复制
mysql> create table foo (x varchar);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
mysql> create table foo (x varchar(1));
Query OK, 0 rows affected (0.00 sec)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24497556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档