在Laravel中的SELECT语句后插入记录时如何应用'ON CONFLICT'条件?

问题描述 投票:3回答:1

下面是需要Laravel查询的SQL查询。

    INSERT INTO 'details' (id, contact) 
    SELECT DISTINCT tmp_details.id, students.contact 
    FROM 'tmp_details'
    INNER JOIN 'students' USING(name) 
    ON CONFLICT DO NOTHING;    

我无法应用ON CONFLICT条件。

我已经按如下所示进行了部分转换。

    $strSQL =  DB::table('tmp_details')
                ->join('students', 'tmp_details.name', '=', 'students.name')
                ->select('tmp_details.id','students.contact');
               DB::table('details')->insertUsing(['id', 'contact'], $strSql);
php laravel lumen
1个回答
0
投票

不确定,请尝试一下。

$strSQL =  DB::table('tmp_details')
              ->join('students', 'tmp_details.name', '=', 'students.name')
              ->pluck('tmp_details.id','students.contact');

DB::table('details')->insertOrIgnore($strSql);
© www.soinside.com 2019 - 2024. All rights reserved.