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

Ajouter une seule paire clé-valeur à une table MySQL à l'aide de Python

<p>J'essaie d'ajouter une valeur à une table MySQL à partir de Python. J'ai essayé environ cinq méthodes différentes et j'obtiens toujours l'erreur indiquant qu'aucune autre clé de la table n'a de valeur transmise lorsque j'appelle insert. Le problème est que je ne veux insérer aucune autre valeur, seulement une clé spécifique. C'est le code que j'ai jusqu'à présent, merci d'avance pour toute aide</p> <pre class="brush:php;toolbar:false;">cursor.execute("SELECT * FROM SONG") résultat = curseur.fetchall() sname = str(input("Quel est le nom de la chanson que vous recherchez : ")) pour la ligne du résultat : titre = ligne[0] if(titre == nom): sql = ("INSÉRER DANS LES VALEURS UTILISATEUR (s_id) (%s)") val = ligne[1] curseur.execute(sql, (val,))</pre> <p>mysql.connector.errors.DatabaseError : 1364 (HY000) : champ 'ID utilisateur' introuvable Valeur par défaut</p> <pre class="brush:php;toolbar:false;">CRÉER UN UTILISATEUR DE TABLE (nom d'utilisateur VARCHAR(20), ID utilisateur CHAR(3), a_id CHAR(3), s_id CHAR(3), CLÉ PRIMAIRE (ID utilisateur), ALBUM DE RÉFÉRENCES DE CLÉ ÉTRANGÈRE (a_id) (a_id), CLÉ ÉTRANGÈRE (s_id) RÉFÉRENCES CHANSON(s_id)); CRÉER UNE LISTE DE LECTURE DE TABLE (p_nom VARCHAR(20), p_id CHAR(3) NON NULL, ID utilisateur CHAR(3), s_id CHAR(3), CLÉ PRIMAIRE (p_id), CLÉ ÉTRANGÈRE (ID utilisateur) RÉFÉRENCES UTILISATEUR (ID utilisateur), CLÉ ÉTRANGÈRE (s_id) RÉFÉRENCES SONG(s_id));</pre></p>
P粉111227898P粉111227898433 Il y a quelques jours545

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

  • P粉742550377

    P粉7425503772023-09-05 18:35:11

    La bonne méthode n'est pas d'utiliser python, mais simplement d'utiliser une requête MySQL

    sname = str(input("What is the name of the song you are looking for: "))
        sql = ("INSERT INTO USER (s_id) select id from SONG where name= '%s'")
        cursor.execute(sql)

    https://www.w3schools.com/sql/sql_insert_into_select.asp

    répondre
    0
  • Annulerrépondre