#CACHE{0} [(#REM) lister les tables et description sqlite] [(#REM) array type=>table name=>nom table tbl_name=>nom_table rootpage=>2 sql=>CREATE TABLE name (...,PRIMARY KEY(key))] #SET{table,#VALEUR*{name}} #SET{cle_primaire,#VALEUR*{sql}|cle_prim} #SET{req_table,PRAGMA table_info ( #VALEUR*{name} )} [(#REM) les enonces de base: supprimer et creer ] DROP TABLE IF EXISTS `#VALEUR*{name}`; CREATE TABLE `#VALEUR*{name}` ([(#REM) liste des champs - RECUPERER AUTO INCREMENT !!! - on stocke aussi pour les insert] #SET{champs,#ARRAY} `#VALEUR*{name}` [ (#VALEUR*{type}|=={"TIMESTAMP"}|?{"timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP",#VALEUR*{type}|strtolower}) ][ (#VALEUR*{notnull}|=={1}|?{"NOT NULL",""}) ][(#VALEUR*{type}|=={"INTEGER"}|et{#VALEUR*{name}|=={#GET{cle_primaire}}}|oui) AUTO_INCREMENT ][ default (#VALEUR*{dflt_value}|=={"''"}|?{"",#VALEUR*{dflt_value}})] [(#REM) et on stocke la liste des champs pour plus tard] #SET{champs,#GET{champs}|push{#VALEUR*{name}}} [(#REM) ensuite la clé primaire ] [, PRIMARY KEY ((#GET{cle_primaire}))] [(#REM) on cherche la liste des autres clés] #SET{req_keys,PRAGMA index_list( #GET{table} )} , [(#REM) le nom de table est répété dans les clés, on va l'enlever] #SET{key,#VALEUR*{name}|keyname{#GET{table}}}[ KEY `(#GET{key})` ] [(#REM) les valeurs des autres clés ] #SET{req_cle,PRAGMA index_info( #VALEUR*{name})} ( `#VALEUR*{name}` ) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; [(#REM) insérons-maintenant les valeurs des contenus] #SET{req_donnees,SELECT * FROM #GET{table}} INSERT INTO `#GET{table}` ( `#VALEUR*` ) VALUES ( [(#VALEUR*|?{['(#VALEUR*|mysql_prep)'],"''"})] ) ; INSERT INTO `spip_meta` (`nom`, `valeur`, `impt`, `maj`) VALUES ('charset_collation_sql_base', 'utf8_general_ci', 'non', ''),('charset_sql_base', 'utf8', 'non', ''),('charset_sql_connexion', 'utf8', 'non', '');