Mysql 两个左联接表的联合表不工作

Mysql 两个左联接表的联合表不工作,mysql,federated-storage-engine,Mysql,Federated Storage Engine,由于某些原因,我在执行以下查询时出现以下错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第35行“发动机=联邦”附近 注意:联邦引擎已打开并正在处理其他未联接的表。简短回答: 联邦表的CREATE语句需要一段称为连接的附加数据。语句中没有该数据是语法错误的根源 长答覆: 对于这个特定实例,视图将是比联邦表更好的工具 联邦存储引擎可以类似于Linux中的符号链接或Windows中的快捷方式。它主要用于访问服务器上的表,该服务器实际上并不在本地存储该表,而

由于某些原因,我在执行以下查询时出现以下错误:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第35行“发动机=联邦”附近

注意:联邦引擎已打开并正在处理其他未联接的表。

简短回答:
联邦表的CREATE语句需要一段称为连接的附加数据。语句中没有该数据是语法错误的根源

长答覆:

对于这个特定实例,视图将是比联邦表更好的工具

联邦存储引擎可以类似于Linux中的符号链接或Windows中的快捷方式。它主要用于访问服务器上的表,该服务器实际上并不在本地存储该表,而是在不同的mysql服务器上。因此,在创建联邦表时,还必须在create语句中包含联邦存储引擎应该使用的连接。您可以选择在存储数据的同一台主机上创建联邦表,但这将导致额外的开销,因为访问本地数据时采取了不必要的步骤。有关更多详细信息,请参阅


另一方面,视图类似于存储的查询,在查询视图表时执行。我可以给你更多的信息

我忘了在我的问题中包含连接字符串,但我有它,并在原始查询中尝试了。仍然是相同的错误..联邦存储引擎使用一对一匹配。远程mysql服务器上存在的表结构必须忠实地复制到本地mysql服务器上,唯一的区别是存储引擎部分。假设服务器a上存在一个名为meta_value的表,我希望能够在服务器B上查询该表。我首先在服务器a上发出以下命令:SHOW CREATE tablemeta_值;我会将生成的create语句(引擎部分除外)粘贴到服务器B中。然后我会在底部添加联合信息。我希望能够在服务器B上查询的服务器A上的每个表都必须“重新创建”为服务器B上的联合表。然后您可以进行联接。谢谢您的建议。如果这些表位于同一个服务器db上,并且需要将上面的左连接表与联邦方法以外的其他方法同步,该怎么办?你建议的解决方案是什么?
CREATE TABLE users AS (
  SELECT
    ID, user_email, user_registered,
    first_name.meta_value as first_name,
    last_name.meta_value as last_name,
    telephone.meta_value as telephone,
    country.meta_value as country,
    company.meta_value as company,
    address.meta_value as address,
    city.meta_value as city,
    professional_title.meta_value as professional_title,
    state.meta_value as state,
    areas_of_interest.meta_value as areas_of_interest
    FROM wp_users
    LEFT JOIN wp_usermeta AS first_name ON first_name.user_id=ID
        AND first_name.meta_key='first_name'
    LEFT JOIN wp_usermeta AS last_name ON last_name.user_id=ID
        AND last_name.meta_key='last_name'
    LEFT JOIN wp_usermeta AS telephone ON telephone.user_id=ID
        AND telephone.meta_key='telephone'
    LEFT JOIN wp_usermeta AS country ON country.user_id=ID
        AND country.meta_key='country'
    LEFT JOIN wp_usermeta AS company ON company.user_id=ID
        AND company.meta_key='company'
    LEFT JOIN wp_usermeta AS address ON address.user_id=ID
        AND address.meta_key='address'
    LEFT JOIN wp_usermeta AS city ON city.user_id=ID
        AND city.meta_key='city'
    LEFT JOIN wp_usermeta AS professional_title ON professional_title.user_id=ID
        AND professional_title.meta_key='professional_title'
    LEFT JOIN wp_usermeta AS state ON state.user_id=ID
        AND state.meta_key='state'
    LEFT JOIN wp_usermeta AS areas_of_interest ON areas_of_interest.user_id=ID
        AND areas_of_interest.meta_key='areas_of_interest'
) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION "*****";