如何在迁移中使用内连接时更新 Laravel 数据库

How to update Laravel database while using inner join in a migration

我有以下 SQL 语句,它直接在 SQL 控制台中工作,但我需要在 Laravel 迁移中进行。

Short story, I am trying to replace the current value of columnA on tableA with id of the corresponding value in columnB of the tableB.

表结构如下:

tableA:
    id: int(11)
    columnA: varchar(191)

tableB:
    id: int(11)
    columnB: varchar(191)

正在 SQL 控制台上运行的 SQL 语句:

UPDATE tableA INNER JOIN tableB ON tableA.columnA = tableB.columnB SET tableA.columnA=tableB.id WHERE tableB.columnB = tableA.columnA

我认为它正在使用原始语句:

DB::raw(UPDATE tableA INNER JOIN tableB ON tableA.columnA = tableB.columnB SET tableA.columnA=tableB.id WHERE tableB.columnB = tableA.columnA);

现在我正忙于创建 Laravel 迁移,当我尝试 运行 迁移时,没有任何反应。

尝试使用 DB::statement 而不是 DB::raw,第二个不 运行 查询。