Insérer des données si et seulement s'il n'y a pas de données en double dans la base de données MySQL
P粉883278265
P粉883278265 2023-09-13 18:17:33
0
1
509

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

J'essaie d'insérer des données dans mySQL DB. Si les paramètres transactionDate, transactionNumber et uid dans les paramètres sont également identiques aux valeurs market_day, order_number et uid dans la colonne de la table stock_order_abusing, alors il n'y aura pas d'insertion ou l'insertion doit être ignorée. Il n'y a pas de pk (clé primaire) à comparer. Toutes les méthodes de Google me disent qu'il devrait y avoir une clé primaire pour empêcher l'insertion en double. Existe-t-il un moyen de résoudre ce problème ?

P粉883278265
P粉883278265

répondre à tous(1)
P粉216807924

Si vous ne souhaitez effectuer aucune action lorsqu'il existe des enregistrements en double, vous pouvez utiliser la syntaxe INSERT IGNORE.

Voici le guide de grammaire complet

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal