MARIADB-连接引擎 - 订购错误



我正在尝试通过运行MariaDB的其他服务器上的Connect Engine从MySQL表(5.5.45)获取星号CDR记录。

我可以轻松地在表之间创建连接:

CREATE TABLE `calls` engine=CONNECT table_type=MYSQL
CONNECTION='mysql://user@IP/asteriskcdrdb/calls';

当我运行简单从呼叫中选择 *时,一切都很好,当我添加一些时,条件,仍然一切正常。

但是,当我添加 column 参数时,问题开始,然后我从Mariadb获得了此错误:

#1032 - Can't find record in 'calls'

我检查了MARIADB日志MySQL日志 - 根本没有错误。

我错过了什么?

谢谢!

更新:整个查询很简单:

SELECT * FROM `calls` ORDER BY `calldate`

表结构:

CREATE TABLE `calls` (
  `calldate` datetime NOT NULL default '0000-00-00 00:00:00',
  `clid` varchar(80) NOT NULL default '',
  `src` varchar(80) NOT NULL default '',
  `dst` varchar(80) NOT NULL default '',
  `dcontext` varchar(80) NOT NULL default '',
  `channel` varchar(80) NOT NULL default '',
  `dstchannel` varchar(80) NOT NULL default '',
  `lastapp` varchar(80) NOT NULL default '',
  `lastdata` varchar(80) NOT NULL default '',
  `duration` int(11) NOT NULL default '0',
  `billsec` int(11) NOT NULL default '0',
  `disposition` varchar(45) NOT NULL default '',
  `amaflags` int(11) NOT NULL default '0',
  `accountcode` varchar(20) NOT NULL default '',
  `uniqueid` varchar(32) NOT NULL default '',
  `userfield` varchar(255) NOT NULL default '',
  `recordingfile` varchar(255) NOT NULL default '',
  `cnum` varchar(40) NOT NULL default '',
  `cnam` varchar(40) NOT NULL default '',
  `outbound_cnum` varchar(40) NOT NULL default '',
  `outbound_cnam` varchar(40) NOT NULL default '',
  `dst_cnam` varchar(40) NOT NULL default '',
  `call_charge` float NOT NULL default '0',
  `from_did` varchar(30) NOT NULL,
  `did` varchar(50) NOT NULL default '',
  `user_id` int(8) unsigned default NULL,
  `client_id` int(8) unsigned default NULL,
  KEY `IDX_UNIQUEID` (`uniqueid`),
  KEY `src` (`src`),
  KEY `dst` (`dst`),
  KEY `calldate` (`calldate`),
  KEY `uniqueid` (`uniqueid`),
  KEY `userfield` (`userfield`),
  KEY `from_did` (`from_did`),
  KEY `user_id` (`user_id`),
  KEY `client_id` (`client_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

更新#2:更新表名,不要混淆,但这不是问题。连接表是可以创建的。

查询工作

SELECT * FROM `calls`

查询工作

SELECT * FROM `calls` WHERE `user_id`=X

查询返回错误

SELECT * FROM `calls` ORDER BY `calldate`

更新#3: MySQL已更新为Veriosn 5.5.45,将类型更改为InnoDB,并且Charset转换为UTF8。但是没有成功。

问题已解决好吧,这是Mariadb错误,当我更改为Federatedx引擎(基本上有限的连接版本)时,一切都按预期工作。

在您的查询中 从calls

选择 *

但是在您的表结构中 创建表cdr

都有CallDate列。检查是否查询右表。

相关内容

  • 没有找到相关文章

最新更新