[65396] | 1 | [(#AUTORISER{webmestre}|sinon_interdire_acces)]#CACHE{0} #HTTP_HEADER{Content-Type:text/plain; charset=#CHARSET} #HTTP_HEADER{Content-Disposition: attachment; filename="mysql-dump.sql"} |
---|
| 2 | [(#REM) lister les tables et description sqlite] |
---|
| 3 | [(#REM) array type=>table name=>nom table tbl_name=>nom_table rootpage=>2 sql=>CREATE TABLE name (...,PRIMARY KEY(key))] |
---|
| 4 | <BOUCLE_tables(DATA){source sql,SELECT * FROM sqlite_master WHERE type='table'}> |
---|
| 5 | #SET{table,#VALEUR{name}} #SET{cle_primaire,#VALEUR{sql}|cle_prim} #SET{req_table,PRAGMA table_info ( #VALEUR{name} )} |
---|
| 6 | [(#REM) les enonces de base: supprimer et creer ] |
---|
| 7 | DROP TABLE IF EXISTS `#VALEUR{name}`;CREATE TABLE `#VALEUR{name}` ( |
---|
| 8 | [(#REM) liste des champs - RECUPERER AUTO INCREMENT !!! - on stocke aussi pour les insert] #SET{champs,#ARRAY} |
---|
| 9 | <B_table_desc><BOUCLE_table_desc(DATA){source sql,#GET{req_table}}{", "}> |
---|
| 10 | `#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}})] |
---|
| 11 | [(#REM) et on stocke la liste des champs pour plus tard] #SET{champs,#GET{champs}|push{#VALEUR{name}}} |
---|
| 12 | </BOUCLE_table_desc> |
---|
| 13 | [(#REM) ensuite la clé primaire ][,(#GET{cle_primaire})] |
---|
| 14 | [(#REM) on cherche la liste des autres clés]#SET{req_keys,PRAGMA index_list( #GET{table} )} |
---|
| 15 | <B_keys_liste>, |
---|
| 16 | <BOUCLE_keys_liste(DATA){source sql,#GET{req_keys}}{","}>[(#REM) le nom de table est répété dans les clés, on va l'enlever ]#SET{key,#VALEUR{name}|keyname{#GET{table}}} |
---|
| 17 | [KEY `(#GET{key})` ] |
---|
| 18 | [(#REM) les valeurs des autres clés ]#SET{req_cle,PRAGMA index_info( #VALEUR{name})} |
---|
| 19 | <B_keys> ( <BOUCLE_keys(DATA){source sql,#GET{req_cle}}{", "}>`#VALEUR{name}`</BOUCLE_keys> )</B_keys> |
---|
| 20 | </BOUCLE_keys_liste>) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; |
---|
| 21 | [(#REM) insérons-maintenant les valeurs]#SET{req_donnees,SELECT * FROM #GET{table}} |
---|
| 22 | <B_lignes>INSERT INTO `#GET{table}` (<BOUCLE_champs(DATA){source tableau,#GET{champs}}{", "}>`#VALEUR`</BOUCLE_champs>) VALUES <BOUCLE_lignes(DATA){source sql,#GET{req_donnees}}{", "}><B_donnees>(<BOUCLE_donnees(DATA){source table,#VALEUR}{", "}>[(#VALEUR|?{['(#VALEUR|mysql_prep)'],"''"})]</BOUCLE_donnees>)</B_donnees></BOUCLE_lignes>;</B_lignes></BOUCLE_tables> |
---|