【问题标题】:Codeigniter query create federated tableCodeigniter 查询创建联合表
【发布时间】:2012-04-20 16:33:18
【问题描述】:



我正在尝试在 Codeigniter 中使用此函数创建一个表

public function createTable($connectionString) {
    $createString = "CREATE TABLE {$this->getTabela()} (
        `data` datetime NOT NULL,
        `idempregado` varchar(45) DEFAULT NULL,
        `nif` varchar(15) DEFAULT NULL,
        `idsociedade` bigint(20) DEFAULT NULL,
        `tipo` varchar(45) DEFAULT NULL,
        PRIMARY KEY (`data`),
        KEY `fk_assiduidade_user1` (`idempregado`,`nif`,`idsociedade`),
        CONSTRAINT `fk_assiduidade_user1` FOREIGN KEY (`idempregado`, `nif`, `idsociedade`) REFERENCES `user` (`idempregado`, `nif`, `idsociedade`) ON DELETE NO ACTION ON UPDATE NO ACTION
        )
        ENGINE=FEDERATED
        DEFAULT CHARSET=utf8
        CONNECTION='$connectionString'";
    var_dump($createString);
    var_dump($this->getDbConnect()->conn_id);
    var_dump($this->getDbConnect()->query($createString));
}

但是查询总是返回 False。
正如你们所看到的,我已经做了 3 个 var_dumps 来检查它是否一切正常。
你们能帮我弄清楚这不执行查询吗?

问候,
埃尔卡斯

【问题讨论】:

  • 您是否尝试过检查 MySQL 错误?检查日志?
  • 你有没有看过 CI 的 db Forge class

标签: mysql sql codeigniter codeigniter-2


【解决方案1】:

我刚刚发现了问题。

在与数据中心的技术人员交谈后(因为我无权访问任何日志),我发现他们禁用了 FEDERATED 引擎。

问题解决了。

感谢您的提示。

【讨论】:

  • 你还是应该看看他们的DB Forge,这比手动操作更容易和“更安全”
  • 没关系,伙计。在我在这里发布之前,我已经阅读了它。但由于我的目标服务器具有静态 IP,我不需要联合表。当我不知道从上到下的“方式”时,它是一种解决方案,但因为我知道它,所以我可以在主服务器中建立连接。
猜你喜欢
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
相关资源
最近更新 更多