栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在2个不同的数据库上保留2个表的联接?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在2个不同的数据库上保留2个表的联接?

您可以简单地加入不同数据库的表。您需要在

FROM
子句中指定数据库名称。要使其更短,请在其
ALIAS
上添加一个,

SELECt  a.*,          -- this will display all columns of dba.`UserName`      b.`Message`FROM  dba.`UserName` a  -- or LEFT JOIN to show all rows whether it exists or not      INNER JOIN dbB.`PrivateMessage` b  ON a.`username` = b.`username`

但是有些方法却有可能-在其中

username
没有消息。在这种情况下,
LEFT JOIN
如果您仍要显示的所有记录,请使用
dba.Username

从您的评论中读取,这些表具有不同的

collation
。解决此问题的方法是
COLLATE
在您的联接语句中指定,

SELECt  a.*,          -- this will display all columns of dba.`UserName`      b.`Message`FROM  dba.`UserName` COLLATE latin1_swedish_ci a        LEFT JOIN dbB.`PrivateMessage` COLLATE latin1_swedish_ci b  ON a.`username` = b.`username`

您可以更改

latin1_swedish_ci
为任何您想要的。

有关COLLATION的更多信息,请参阅以下完整列表

MySQL中的字符集和排序规则


如果您

ALTER
对表有足够的特权,只需使用此语法即可手动转换并匹配它们的排序规则,

ALTER TABLE tbl_name ConVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号