sách gpt4 ai đã đi

mariadb - 如何在不指定列的情况下在 MariaDB 中创建联合表

In lại 作者:行者123 更新时间:2023-12-03 08:42:54 35 4
mua khóa gpt4 Nike

我正在尝试使用 MariaDB 10.1.12 的联合引擎来创建基于远程数据库中的表的表。关注MariaDB instructions关于如何使用 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

我是否遗漏了什么,或者如果不指定各个列就无法使用联合表?

1 Câu trả lời

似乎在 Ubuntu 14.04 上标准安装 MariaDB 时,旧的 Federated 引擎处于事件状态,而不是新的 FederatedX 变体。只有后者支持列的自动发现。为了纠正这个问题,我采取了以下步骤:

uninstall soname 'ha_federated';

删除联合插件。服务器重启后,正确的加载

install plugin federated soname 'ha_federatedx';

这会加载支持自动发现列的新 FederatedX 实现。要查看已安装的引擎,可以使用

列出它们
show engines;

如果一切正确,输出中应该有这一行:

| FEDERATED | YES | FederatedX pluggable storage engine |

关于mariadb - 如何在不指定列的情况下在 MariaDB 中创建联合表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176144/

35 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com