Maison  >  Questions et réponses  >  le corps du texte

pymysql insérer uniquement s'il n'est pas présent

C'est la première fois que j'utilise SQL et que j'essaie d'insérer des données uniquement si l'entrée n'est pas dans la base de données. Mon SQL ressemble à ceci :

insert_query = ("IF NOT EXISTS ( SELECT 1 FROM `follows` WHERE `id_user` = '"+user_id+"' AND `id_folgt` = '"+folgt_id+"') BEGIN INSERT INTO `follows`(`id_user`, `id_folgt`) VALUES ('"+user_id+"','"+folgt_id+"')END;")

Malheureusement, j'ai rencontré une erreur de syntaxe

P粉956441054P粉956441054236 Il y a quelques jours290

répondre à tous(1)je répondrai

  • P粉811349112

    P粉8113491122024-02-27 11:19:14

    Si vous souhaitez insérer une ligne uniquement si elle n'existe pas dans le tableau, vous avez plusieurs options :

    1. Créez un index unique via une expression pour détecter s'il existe. Si la valeur de cette expression existe déjà dans la table, le serveur empêchera l'insertion.

    2. Utilisez INSERT .. ON DUPLICATE KEY UPDATE et de fausses opérations UPDATE (par exemple, id = id,其中 id est la clé primaire).

    3. Utilisez INSERT .. SELECT selon WHERE NOT EXISTS. L'insertion n'est effectuée que si la clause WHERE renvoie TRUE.

    Il y a plus d'options...

    répondre
    0
  • Annulerrépondre