Fügen Sie Daten genau dann ein, wenn keine doppelten Daten in der MySQL-Datenbank vorhanden sind
P粉883278265
P粉883278265 2023-09-13 18:17:33
0
1
505

<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>

Ich versuche, Daten in die MySQL-Datenbank einzufügen. Wenn „transactionDate“, „transactionNumber“ und „uid“ in den Parametern auch mit „market_day“, „order_number“ und „uid“ in der Tabellenspalte „stock_order_abusing“ übereinstimmen, erfolgt keine Einfügung oder die Einfügung sollte ignoriert werden. Es gibt keinen pk (Primärschlüssel) zum Vergleichen. Alle Methoden in Google sagen mir, dass es einen Primärschlüssel geben sollte, um doppelte Einfügungen zu verhindern. Gibt es eine Möglichkeit, dieses Problem zu lösen?

P粉883278265
P粉883278265

Antworte allen(1)
P粉216807924

如果您想在存在重复记录时不采取任何操作,可以使用 INSERT IGNORE 语法。

这里是完整的语法指南

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage