suchen

Heim  >  Fragen und Antworten  >  Hauptteil

pymysql nur einfügen, wenn nicht vorhanden

Dies ist das erste Mal, dass ich SQL verwende und versuche, Daten nur einzufügen, wenn der Eintrag nicht in der Datenbank vorhanden ist. Mein SQL sieht so aus:

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;")

Leider ist ein Syntaxfehler aufgetreten

P粉956441054P粉956441054274 Tage vor322

Antworte allen(1)Ich werde antworten

  • P粉811349112

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

    如果您只想在表中不存在该行时插入行,那么您有很多选择:

    1. 通过表达式创建唯一索引,用于检测是否存在。如果该表达式的值已存在于表中,服务器将禁止插入。

    2. 使用 INSERT .. ON DUPLICATE KEY UPDATE 和假 UPDATE 操作(例如,id = id,其中 id 是主键)。

    3. 根据 WHERE NOT EXISTS 使用 INSERT .. SELECT。仅当 WHERE 子句返回 TRUE 时才会执行插入。

    还有更多选择...

    Antwort
    0
  • StornierenAntwort