Je cherche à inséser un champs à la volée dans les requette mysql de creattion de table
1 2 3 4 5 6 7 8
| <?php
$query="CREATE TABLE `3crealivres_new`.`tmp_1`(`rt` INT( 1 ) NOT NULL) ENGINE = MYISAM ;";
echo "<pre> . $query . "\n";
$pattern = '/ *(create +table *.+\()(.+)/i';
if (preg_match($pattern, $query)) echo "VRAI "; else echo "FAUX ";
$query = preg_replace($pattern, '$1`bdd_sync` DATETIME NOT NULL, $2', $query);
echo "\n".$query . "\n";
?> |
j'obtiens
CREATE TABLE `3crealivres_new`.`tmp_1`(`rt` INT(`bdd_sync` DATETIME NOT NULL, 1 ) NOT NULL) ENGINE = MYISAM ;
au lieu de
CREATE TABLE `3crealivres_new`.`tmp_1`(`bdd_sync` DATETIME NOT NULL, `rt` INT( 1 ) NOT NULL) ENGINE = MYISAM ;
Je ne comprends pas pourquoi.
Impossible de détecter la première parenthèse.
Merci de votre aide.
Partager