# python3 sqlite

**URL:** <https://www.debian-fr.org/t/python3-sqlite/57159>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:38 UTC](https://www.debian-fr.org/t/python3-sqlite/57159 "2016-02-21T14:38:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 2:38 UTC](https://www.debian-fr.org/t/python3-sqlite/57159/1 "2016-02-21T14:38:10Z")

</div>

bonjour j’ai deux questions concernant pythpon et sqlite

-\> problème 1  
Dans un shell sqlite3 on peut obtenir le résultat de la requête en html avec .mode html

Je ne parviens pas à trouver la même chose avec python3 et le module sqlite3  
Est ce que vous connaissez par hasard le truc.  
Actuellement j’ai bien sur obtenu le code html en parcourant la liste de la requête

-\> problème 2  
J’ai une base de donnée avec

`id | numero ` où l’id n’est pas unique par contre je souhaiterai que le couple (id,numero) soit unique.  
1|1  
2|1  
3|1  
4[1  
1|2  
2|2  
3|2  
4|2

y a t il un moyen de créer une base comme ca?  
merci

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 2:38 UTC](https://www.debian-fr.org/t/python3-sqlite/57159/2 "2016-02-21T14:38:10Z")

</div>

[quote=“limax”]-\> problème 2  
J’ai une base de donnée avec

`id | numero ` où l’id n’est pas unique par contre je souhaiterai que le couple (id,numero) soit unique.  
1|1  
2|1  
3|1  
4[1  
1|2  
2|2  
3|2  
4|2

y a t il un moyen de créer une base comme ca?[/quote]  
À condition que tu parles bien de paires ordonnées (id, numéro) : [sqlite.org/lang\_createindex.html](https://www.sqlite.org/lang_createindex.html)

Si tes paires ne sont pas ordonnées, alors il faut non seulement utiliser un index unique, mais en plus dans ton application ordonner toujours tes paires de la même manière (par ex. la plus faible valeur dans id). Je ne crois pas qu’il y ait moyen d’exprimer cette contrainte en pur SQL, il faut que l’application coopère.  
Edit : pfiou je fatigue, en regardant ton jeu de données d’exemple il s’agit bien de paires ordonnées puisque 1|2 et 2|1 cohabitent ensemble. 😊

---

<div class="post-metadata">

**Author:** ![Keldath](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/k/f17d59/32.png) [@Keldath](https://www.debian-fr.org/u/Keldath)\
**Post date:** [Février 21, 2016, 2:38 UTC](https://www.debian-fr.org/t/python3-sqlite/57159/3 "2016-02-21T14:38:10Z")

</div>

Bonjour,

Pour ton problème n°2, il te faut créer ta table avec une contrainte d’unicité sur tes deux colonnes, quelque chose dans ce goût là :

`CREATE TABLE ma_table (
  id INT,
  numero INT,
  UNIQUE(id, numero)
);`

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 2:38 UTC](https://www.debian-fr.org/t/python3-sqlite/57159/4 "2016-02-21T14:38:11Z")

</div>

[quote=“Keldath”]Bonjour,

Pour ton problème n°2, il te faut créer ta table avec une contrainte d’unicité sur tes deux colonnes, quelque chose dans ce goût là :

`CREATE TABLE ma_table (
  id INT,
  numero INT,
  UNIQUE(id, numero)
);`[/quote]  
+1 effectivement j’aurais du penser à ça.
