MariaDB(10.0.29)を実行している他のサーバーのCONNECTエンジンによって、MySQLテーブル(5.5.45)からアスタリスクCDRレコードを取得しようとしています。MariaDB - CONNECT ENGINE - ORDER BYエラー
私は簡単にテーブル間の接続を作成することができます:私は通話からの簡単なSELECT *を実行すると、私はまだいくつかの条件、大丈夫、すべてを追加するとき
CREATE TABLE `calls` engine=CONNECT table_type=MYSQL
CONNECTION='mysql://[email protected]/asteriskcdrdb/calls';
を、すべてのものは、良い作品。私は列パラメータBY ORDERを追加するとき
しかし、問題が起動して、私はMariaDBからこのエラーを得た:
#1032 - Can't find record in 'calls'
私は、MySQLのログ、MariaDBログをチェックする - エラーがすべてではありません。
私は何かを見逃しましたか?
ありがとうございました!
更新:全体のクエリは単純です:
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:更新テーブル名、混同しないようにすることではなく、それは問題ではない。 CONNECTIONテーブルは正常に作成されます。
クエリは作品:
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に変換されました。しかし、成功はありません。
問題が まあを解決し、それはすべてが期待どおりに動作しますが、私はFederatedXエンジンに変更MariaDBのバグ、(基本的にはCONNECTの少し限定バージョンである)です。クエリで
完全なクエリとテーブルの例を追加できますか? –
@DaniloBustos私の元の記事を更新しました、ごめんなさい。 –
テーブル名は 'cdr'ですか? –