搜尋

首頁  >  問答  >  主體

插入資料當且僅當 mysql 資料庫中沒有重複數據

<insert id="insertStockOrderAbusingList" parameterType="java.util.List">
    INSERT IGNORE INTO iruda_trade.stock_order_abusing (
        market_day,
        uid,
        stock_account_id,
        order_number,
        symbol,
        conclusion_quantity,
        order_type,
        created_at
    ) VALUES
    <foreach collection="list" item="item" index="index" separator=",">
    (
            #{item.transactionDate},
            #{item.uid},
            #{item.stockAccountId},
            #{item.transactionNumber},
            #{item.symbol},
            #{item.filledVolume},
            #{item.transactionType},
            #{item.clientTimeStamp}
     )
     </foreach>
</insert>

我正在嘗試將資料插入 mySQL DB 中。如果參數中的 transactionDate、transactionNumber 和 uid 同時與 stock_order_abusing 表列中的 market_day、order_number、uid 相同,則不會有插入或應忽略插入。沒有要比較的 pk(主鍵)。谷歌中的所有方法都告訴我應該有主鍵以防止重複插入。有什麼辦法可以解決這個問題嗎?

P粉883278265P粉883278265454 天前515

全部回覆(1)我來回復

  • P粉216807924

    P粉2168079242023-09-14 13:57:28

    如果您想要在存在重複記錄時不採取任何操作,可以使用 INSERT IGNORE 語法。

    這裡是完整的文法指南

    回覆
    0
  • 取消回覆