【问题标题】:Left Join two MYSQL databasesLeft Join 两个 MYSQL 数据库
【发布时间】:2013-09-18 01:21:22
【问题描述】:

我正在尝试加入两个 Mysql 数据库,但出现以下错误:

SELECT 命令拒绝用户 'sj'@'localhost' 用于表 'joborders'

以下是我的数据库的列出方式:

  • db1 - 数据库 sjb 表作业订单
  • db - 数据库 sj 表用户

这是我的代码:

    $query = "SELECT db1.users.username,  db.joborders.usern, db.joborders.job_title ".
    "FROM db.joborders LEFT JOIN db1.users ".
"ON db.joborders.usern = dbi.users.username"; 

    $result = mysql_query($query) or die(mysql_error());

    while($row = mysql_fetch_array($result)){
echo $row['usern']. " - ". $row['job_title'];

我尝试过用几种不同的方式重写这个,但我总是遇到同样的错误。

【问题讨论】:

  • 这是权限问题,不是加入问题。
  • 他们都将权限设置为所有人,那么还有什么可能,有什么想法吗?

标签: php mysql


【解决方案1】:

你的表名可能有错别字

"ON db.joborders.usern = dbi.users.username"; 

将 i 替换为 1

错误消息并没有告诉您“dbi”表不存在,而是表明该命令被拒绝——就好像您没有权限一样

如果您不确定,请发布架构,usern 也是列吗? 你确定db1.users_usernamedb.joborders_usern的表名不是这样的,带下划线吗?

db1 - 数据库 sjb 表作业订单

db - 数据库 sj 表用户

从这个信息中,名字应该是sjb.joborderssj.users等等。

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    相关资源
    最近更新 更多