← Tous les exercices
UNIQUE sur un couple de colonnes
Partie 3 · ★★
UNIQUE(nom) interdit les doublons sur une colonne. UNIQUE(nom, prenom) interdit les doublons sur le couple : « Martin / Marc » ne peut apparaître qu'une fois, mais « Martin / Pierre » et « Dupond / Marc » restent permis.
Complète la contrainte. Le code essaie 4 insertions et note si chacune a réussi (r1 à r4).
import sqlite3 con = sqlite3.connect(":memory:") con.execute("""CREATE TABLE Personne ( id INTEGER PRIMARY KEY AUTOINCREMENT, nom VARCHAR(40), prenom VARCHAR(40), ___(nom, prenom) )""") def inserer(nom, prenom): try: con.execute("INSERT INTO Personne(nom, prenom) VALUES (?, ?)", (nom, prenom)) return True except sqlite3.IntegrityError: return False r1 = inserer('Martin', 'Marc') r2 = inserer('Martin', 'Marc') r3 = inserer('Martin', 'Pierre') r4 = inserer('Dupond', 'Marc')
Ctrl/⌘+Entrée