<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(主鍵)。谷歌中的所有方法都告訴我應該有主鍵以防止重複插入。有什麼辦法可以解決這個問題嗎?
如果您想要在存在重複記錄時不採取任何操作,可以使用 INSERT IGNORE 語法。
這裡是完整的文法指南