<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 语法。
这里是完整的语法指南