← Tous les exercices
Clé primaire composée
Partie 3 · ★★★
Si la connaissance de nom et prenom suffit à identifier une ligne, on peut créer une clé primaire sur le couple. Mauvaise syntaxe du cours : écrire PRIMARY KEY à la suite de chacune des deux colonnes. Bonne syntaxe : une déclaration séparée en fin de liste, PRIMARY KEY (colonne1, colonne2).
Complète la déclaration. Le code vérifie quelles colonnes forment la clé (cles) et tente un doublon (doublon_accepte).
import sqlite3 con = sqlite3.connect(":memory:") con.execute("""CREATE TABLE Personne ( nom VARCHAR(40), prenom VARCHAR(40), adresse TEXT, ___ (nom, prenom) )""") cles = sorted(c[1] for c in con.execute("PRAGMA table_info(Personne)") if c[5] > 0) con.execute("INSERT INTO Personne(nom, prenom) VALUES ('Martin', 'Marc')") try: con.execute("INSERT INTO Personne(nom, prenom) VALUES ('Martin', 'Marc')") doublon_accepte = True except sqlite3.IntegrityError: doublon_accepte = False
Ctrl/⌘+Entrée