【问题标题】:How to update from subquery using Laravel Query Builder如何使用 Laravel Query Builder 从子查询更新
【发布时间】:2015-10-02 11:30:00
【问题描述】:
UPDATE table  set id  ='999'
where seq = (
select seq FROM table
WHERE id is Null
ORDER BY seq
LIMIT 1)

请教我

【问题讨论】:

  • 我为什么要教你?

标签: php postgresql laravel


【解决方案1】:

使用查询生成器

$subquery = DB::table('table')
    ->select('seq')
    ->whereNull('id')
    ->orderBy('seq')
    ->take(1)
    ->toSql();

$query = DB::table('table')
    ->whereRaw("seq = ($subquery)")
    ->update(['id' => 999]);

原始查询:

$sql = 'UPDATE table SET id = 999 WHERE seq = (SELECT seq FROM table WHERE id IS NULL ORDER BY seq LIMIT 1)';
DB::statement($sql);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-12
    • 2019-10-31
    • 2014-08-24
    • 2021-08-19
    • 2017-12-10
    • 2020-02-20
    • 2015-10-06
    • 2019-04-19
    相关资源
    最近更新 更多