[(#AUTORISER{webmestre}|sinon_interdire_acces)]#CACHE{0} #HTTP_HEADER{Content-Type:text/plain; charset=#CHARSET} #HTTP_HEADER{Content-Disposition: attachment; filename="mysql-dump.sql"} [(#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",""}) ] [ 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 ][,(#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]#SET{req_donnees,SELECT * FROM #GET{table}} INSERT INTO `#GET{table}` (`#VALEUR`) VALUES ([(#VALEUR|?{['(#VALEUR|mysql_prep)'],"''"})]);