我正在尝试使用 MariaDB 10.1.12 的联合引擎来创建基于远程数据库中的表的表。按照MariaDB关于如何使用 FederatedX 实现的说明,db1
我在数据库中创建了一个表
CREATE TABLE test_table (
id int(20) NOT NULL auto_increment,
name varchar(32) NOT NULL default '',
other int(20) NOT NULL default '0',
PRIMARY KEY (id),
KEY name (name),
KEY other_key (other))
DEFAULT CHARSET=latin1;
现在,当我想db2
使用联合引擎在第二个数据库中查看此表时,我可以发出
CREATE TABLE test_table (
id int(20) NOT NULL auto_increment,
name varchar(32) NOT NULL default '',
other int(20) NOT NULL default '0',
PRIMARY KEY (id),
KEY name (name),
KEY other_key (other)
) ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://user_x:pass_y@localhost/db1/test_table';
所有这些都是从 MariaDB 文档中复制的,并且运行良好。但是,如果我尝试在不显式复制表结构定义的情况下创建表 - 同一文档中给出的示例
CREATE TABLE test_table ENGINE=FEDERATED DEFAULT CHARSET=latin1
CONNECTION='mysql://user_x:pass_y@localhost/db1/test_table';
MariaDB 响应错误
ERROR 1113 (42000): A table must have at least 1 column
我是否遗漏了某些内容,或者如果不指定各个列就无法使用联合表?