sqlite_sequence

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
PCPixMusic
Messages : 106
Inscription : ven. 06/janv./2017 9:50

sqlite_sequence

Message par PCPixMusic »

Bonjour, J'ai écrit un programme qui utilise une base de données sqlite. En effectuant un contrôle de fichier avec le programme Sqlite Vision écrit par Falsam, je me rends compte qu'il manque une table dans "sqlite_sequence". Sqlite_sequence est généré visiblement de façon automatique par PureBasic, car je n'ai écrit nul part ça dans mon code. Cette erreur n'affecte pas pour le moment la gestion de ma base de données. Voici le code de ma procedure de création de base de données.

Merci d'avance à celui qui sera m'en dire plus.

Bon Dimanche à toutes et tous. :mrgreen:

Code : Tout sélectionner

Procedure DB_Init_Tables(); Init Tables
  Protected plFile.l
  Protected psSQLRequest.s
  Protected psSQLError.s  
  Protected Buffer.s
  
  Protected SNumFacture_0.s
 
  UseSQLiteDatabase()
 
  If FileSize(#PB_Compiler_FilePath+"Bot_Memory.sqlite") < 0
    plFile = CreateFile(#PB_Any, #PB_Compiler_FilePath+"Bot_Memory.sqlite")
    If plFile
      CloseFile(plFile)
    EndIf
  EndIf
 
  glDBSQLite = OpenDatabase(#PB_Any, #PB_Compiler_FilePath+"Bot_Memory.sqlite", "", "", #PB_Database_SQLite)
   
  If glDBSQLite = 0
    MessageRequester("Ancilla", DatabaseError())
    End
  Else ;If plFile  
     
    psSQLRequest = "CREATE TABLE IF NOT EXISTS contacts ("                     +  
                   "IDcontacts INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "   +                     
                   "nom TEXT,"                                                 + 
                   "prenom TEXT,"                                              +
                   "age TEXT,"                                                 +
                   "yeux TEXT,"                                                +
                   "cheveux TEXT,"                                             +
                   "taille TEXT,"                                              +
                   "poids TEXT,"                                               +
                   "sexe TEXT,"                                                +
                   "peau TEXT,"                                                +
                   "sante TEXT,"                                               +
                   "tenue TEXT,"                                               +
                   "lien TEXT,"                                                +
                   "emploi TEXT,"                                              +
                   "aime TEXT,"                                                +
                   "deteste TEXT,"                                             +
                   "couleur_preferee TEXT,"                                    +
                   "plat_prefere TEXT,"                                        +
                   "boisson_preferee TEXT,"                                    +
                   "animal_prefere TEXT,"                                      +
                   "fleur_preferee TEXT,"                                      +
                   "caractere TEXT,"                                           +                            
                   "argent TEXT,"                                              +
                   "contact_photo BLOB,"                                       +
                   "smiley BLOB,"                                              +
                   "contact_photo_size INTEGER,"                               +                   
                   "smiley_size INTEGER"                                       +
                    ")"
    
    DatabaseUpdate( glDBSQLite, psSQLRequest)
    psSQLError = DatabaseError()    
    
    
    psSQLRequest = "CREATE TABLE If Not EXISTS culture (IDculture INTEGER PRIMARY KEY, date TEXT, personnalite TEXT, titre TEXT, type TEXT, sujet TEXT)"
    
    DatabaseUpdate( glDBSQLite, psSQLRequest)
    psSQLError = DatabaseError()    
    
    
    psSQLRequest = "CREATE TABLE IF NOT EXISTS infos_bot ("                    +  
                   "IDinfos_bot INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "  +                   
                   "nom TEXT,"                                                 +
                   "prenom TEXT,"                                              +
                   "age TEXT,"                                                 +
                   "yeux TEXT,"                                                +
                   "cheveux TEXT,"                                             +
                   "taille TEXT,"                                              +
                   "poids TEXT,"                                               +
                   "sexe TEXT,"                                                +
                   "peau TEXT,"                                                +
                   "sante TEXT,"                                               +
                   "tenue TEXT,"                                               +
                   "lien TEXT,"                                                +
                   "emploi TEXT,"                                              +
                   "aime TEXT,"                                                +
                   "deteste TEXT,"                                             +
                   "couleur_preferee TEXT,"                                    +
                   "plat_prefere TEXT,"                                        +
                   "boisson_preferee TEXT,"                                    +
                   "animal_prefere TEXT,"                                      +
                   "fleur_preferee TEXT,"                                      + 
                   "caractere TEXT,"                                           +
                   "argent TEXT,"                                              +
                   "contact_photo BLOB,"                                       +
                   "smiley BLOB,"                                              +
                   "contact_photo_size INTEGER,"                               +
                   "smiley_size INTEGER"                                       +
                   ")"   
                 
                   
    DatabaseUpdate( glDBSQLite, psSQLRequest)
    psSQLError = DatabaseError()    
    
    
    psSQLRequest = "CREATE TABLE IF NOT EXISTS langage ("                    +  
                   "IDlangage INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "  +  
                   "mot TEXT,"                                                +
                   "def1 TEXT,"                                               +
                   "def2 TEXT,"                                               +
                   "def3 TEXT,"                                               +
                   "def4 TEXT,"                                               +
                   "def5 TEXT,"                                               +
                   "def6 TEXT,"                                               +
                   "def7 TEXT,"                                               +
                   "def8 TEXT,"                                               +
                   "def9 TEXT,"                                               +
                   "def10 TEXT,"                                              +
                   "syno1 TEXT,"                                              +
                   "syno2 TEXT,"                                              +
                   "syno3 TEXT,"                                              +
                   "syno4 TEXT,"                                              +
                   "syno5 TEXT,"                                              +
                   "syno6 TEXT,"                                              +
                   "syno7 TEXT,"                                              +
                   "syno8 TEXT,"                                              +
                   "syno9 TEXT,"                                              +
                   "syno10 TEXT,"                                             +
                   "antonyme TEXT,"                                           +
                   "genre TEXT,"                                              +
                   "mode TEXT,"                                               +
                   "temps TEXT,"                                              +
                   "groupe TEXT,"                                             +
                   "pronom TEXT,"                                             +
                   "m_f_n TEXT"                                               +
                   ")"
    
                          
    DatabaseUpdate( glDBSQLite, psSQLRequest)
    psSQLError = DatabaseError()            
   

    ; Il y a t'il eu une erreur ?
    If psSQLError <> ""
      MessageRequester("Ancilla - DB_Init_Tables()", psSQLError)
    EndIf 

EndIf
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: sqlite_sequence

Message par microdevweb »

Bonjour

Je penses que ce n'est pas pb qui crée cette table mains plutôt le programme de falsam. Lui saura te confirmé la chose
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: sqlite_sequence

Message par falsam »

microdevweb a écrit :Je penses que ce n'est pas pb qui crée cette table mains plutôt le programme de falsam. Lui saura te confirmé la chose
Et non .... tout faux le Microdevweb ^^

Pour résumé : La table sqlite_sequence est créée et initialisée automatiquement lorsqu'une table normale contient une colonne AUTOINCREMENT.

Un peu plus d'info détaillé en anglais paragraphe 3 http://sqlite.org/autoinc.html
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: sqlite_sequence

Message par microdevweb »

Merci pour l'info Falsam :wink:
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
PCPixMusic
Messages : 106
Inscription : ven. 06/janv./2017 9:50

Re: sqlite_sequence

Message par PCPixMusic »

Merci beaucoup.

J'ai du mal avec l'anglais pour l'article du lien. Je ne trouve pas d'explication en Français.

Toutes mes tables apparaissent dans la liste des tables et elles fonctionnent, mais il manque la table culture dans cette sqlite_sequence.
:/

Mais la base de données fonctionne. Au passage, j'ai la version 1.36 de Sqlite Vision, malheureusement, si j'enregistre plus de 13 enregistrements, le programme plante. :/
Répondre