【问题标题】:Integrity constraint violation: 1052违反完整性约束:1052
【发布时间】:2021-12-13 14:13:20
【问题描述】:

违反完整性约束:1052 列 'id' 在 where 子句中不明确(SQL:select * from kumeti_member_registrations left join members list on members list.id = kumeti_member registrations.member_name where @987654327 @ = 2)",

此查询请解决错误

$result = DB::table('kumeti_member_registrations')
            ->leftjoin('members_list', 'members_list.id', '=', 'kumeti_member_registrations.member_name')
            ->where('id', $id)
            ->get();

【问题讨论】:

    标签: php mysql sql laravel-8


    【解决方案1】:

    您需要指定表名,因为id在两个表中都是通用的,因此不明确

    所以

    ->where('kumeti_member_registrations.id', $id)
    

    【讨论】:

    • 我认为这不是别名错误
    【解决方案2】:

    试试这个:

    $result = DB::table('kumeti_member_registrations')
                ->leftjoin('members_list', 'members_list.id', '=', 'kumeti_member_registrations.member_name')
                ->where('kumeti_member_registrations.id', $id)
                ->get();
    

    【讨论】:

    • OP 为什么要试试这个好的答案将始终解释所做的工作以及这样做的原因,不仅适用于 OP,而且适用于 SO 的未来访问者,他们可能会发现这个问题并正在阅读您的答案。如果回答得很好,也许他们会支持它。
    猜你喜欢
    • 2012-12-26
    • 2015-06-20
    • 2020-01-14
    • 2017-10-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多