代码之家  ›  专栏  ›  技术社区  ›  Thomas J.

使用插入返回值PGSQL进行更新

  •  0
  • Thomas J.  · 技术社区  · 7 年前

    正在尝试使用新创建的id更新某些列。示例:

    ╔═══════════════════════════╗
    ║ TABLE_LIST_BINDER         ║
    ╠════╦══════════════════════╣
    ║ id ║ tbl_id_lists         ║
    ╠════╬══════════════════════╣
    ║ 1  ║ 1,2,3,4,5,6,7,8,9,10 ║
    ╚════╩══════════════════════╝
    
    ╔═════════════════════════════╗
    ║ TABLE_LIST_ITSELF           ║
    ╠════╦═════════════╦══════════╣
    ║ id ║ text_or_sm  ║ some_val ║
    ╠════╬═════════════╬══════════╣
    ║ 11 ║ ok lets see ║ ikd123   ║
    ╚════╩═════════════╩══════════╝
    

    好的,这是一个粗略的例子。

    文字说明:

    我的SQL代码的当前状态:

    UPDATE TABLE_LIST_BINDER 
        SET tbl_id_lists=concat(tbl_id_lists,','(
            INSERT INTO TABLE_LIST_ITSELF (text_or_sm, some_val) 
            VALUES ('letz danse','mkei') 
            RETURNING id)) 
        WHERE id=1
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   Slava Lenskyy    7 年前
    with _insert as 
    (
    INSERT INTO TABLE_LIST_ITSELF (text_or_sm, some_val) 
            VALUES ('letz danse','mkei') 
            RETURNING id
    )
    UPDATE TABLE_LIST_BINDER 
        SET tbl_id_lists=concat(tbl_id_lists,',' || (select id from _insert))
    where id = 1;
    
    推荐文章