簡體   English   中英

無論如何,是否可以在不使用 for 循環的情況下 SQL 更新 List 中的多個元素?

[英]is there anyway to SQL update multiple element in List without using for loops?

我正在研究我的函數並且它運行良好,但我想優化該方法以獲得更好的性能,這是我的代碼:

for (Foo foo: duplicateElement) {
            String replace = duplicateElement.getName()
                    .replace( split + name + split, split);
            duplicateElement.setName(replace);
            foo.updateFoo(duplicateElement);
        }

上面的代碼運行,但我能不能以某種方式從 for 循環中取出updateFoo SQL 調用並仍然使它工作? 提前致謝!

生成這個 IODKU (upsert) 查詢:

INSERT INTO tbl
        (key, col2, col3)
    VALUES
        (11, 22, 33),
        (43, 54, 65),
        ...
    ON DUPLICATE KEY UPDATE
        col2 = VALUES(col2),
        col3 = VALUES(col3) ;

這要求列keyUNIQUEPRIMARY 它將嘗試插入給定的行,但發現它們存在。 然后它將切換到更新指定的列。

MySQL 8.0 需要以下語法:

        col2 = NEW.col2,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM