0

我想要一个带有 FEDERATED 引擎的新表,从另一个现有的 InnoDB 表创建(克隆)。像这样的东西:

CREATE TABLE balance_live
  AS SELECT * FROM balance
  ENGINE=FEDERATED
  CONNECTION='mysql://user:pass@8.8.8.8:3306/db/balance'

但这由于某种原因不起作用。

4

2 回答 2

1

您需要明确指定的实际表定义。这不是一个视图,它是一张桌子。请参阅此处了解正确的语法: https ://dev.mysql.com/doc/refman/8.0/en/federated-create-connection.html

在远程主机上执行SHOW CREATE TABLE balance;并将其用作定义,只需更改ENGINE=FEDERATED并添加 CONNECTION 子句。

于 2020-09-18T23:29:01.853 回答
0

正如关于创建联合表的 mysql 手册所说:

在本地服务器上创建具有相同表定义的表,但添加将本地表链接到远程表的连接信息。

您不能使用as select ... , 因为在from子句中您只能指定一个本地表。是联合表创建到远程表的链接。

只需从远程表中复制表定义。

于 2020-09-18T23:29:14.700 回答