Re: [R] SQLite et types de données

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [R] SQLite et types de données

#1

Message par GMH »

Bonjour,

Comment précise-t-on les types de données dans la création d'une base SQLite ?

J'ai tenté :

Code : Tout sélectionner

_SQLite_Exec(-1, 'CREATE TABLE IF NOT EXISTS journal ' & _
                '(id, date, libelle NOT NULL, moyen, categorie, debit numeric(5,2), credit  numeric(5,2), solde')
La base accepte un libellé vide malgré le NOT NULL, tout comme des nombres à plus de 5 chiffres et à plus de 2 décimales malgré les types précisés.

Ce n'est pas de cette manière qu'il faut déclarer les types de données ?

Je vous remercie de votre réponse.
Modifié en dernier par GMH le sam. 01 févr. 2020 20:43, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] SQLite et types de données

#2

Message par jchd »

SQLite utilise un typage dynamique. Une colonne peut optionnellement déclarer un type mais il n'est pas contraignant et n'est pas un type au sens habituel.
N'importe quel type peut être stocké n'importe où, à quelques exceptions près. La déclaration d'un type est en fait la déclaration d'une affinité.

Le mieux est de se référer à la documentation officielle.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [R] SQLite et types de données

#3

Message par GMH »

Ah ! d'accord, je me bagarre alors pour rien !

Merci à vous.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] SQLite et types de données

#4

Message par jchd »

Non, déclarer les "types" dans le DDL est très utile, voire indispensable (e.g. INTEGER PRIMARY KEY).
On peut toujours imposer une contrainte sur le type (ou une contrainte d'un autre genre) avec une ou des clause(s) CHECK.

Une fois qu'on s'est fait à l'idée du comportement de SQLite, ce n'est absolument pas un problème, bien au contraire.

create table t1 (x int);
insert into t1 values (43), ('17'), ('-005');
select * from t1;

create table t2 (id integer primary key, object);
-- dans object on peut stocker un blob d'image, une URL, un UUID, etc.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: Re: [R] SQLite et types de données

#5

Message par GMH »

Je vous remercie de ces précisions.
Répondre