Migration rapide et facile de SQLite3 vers MySQL
Si vous recherchez une approche simple pour migrer votre base de données SQLite3 vers MySQL, vous n'êtes pas seul. Tenter de convertir manuellement des données conduit souvent à une incertitude quant à l'exactitude des données importées. Bien qu'il n'existe pas de bibliothèque établie pour cette conversion spécifique, nous pouvons fournir des conseils basés sur les différences entre les deux formats de fichiers.
Différences de syntaxe
Script Perl pour la migration de données
Nous proposons un script Perl modifié qui corrige ces différences et a été testé avec succès sur des ensembles de données spécifiques. Cependant, vous devrez peut-être le personnaliser pour l'aligner sur vos données spécifiques :
#! /usr/bin/perl while ($line = <>){ if (($line !~ /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){ if ($line =~ /CREATE TABLE \"([a-z_]*)\"(.*)/i){ $name = ; $sub = ; $sub =~ s/\"//g; $line = "DROP TABLE IF EXISTS $name;\nCREATE TABLE IF NOT EXISTS $name$sub\n"; } elsif ($line =~ /INSERT INTO \"([a-z_]*)\"(.*)/i){ $line = "INSERT INTO \n"; $line =~ s/\"/\\"/g; $line =~ s/\"/\'/g; }else{ $line =~ s/\'\'/\\'/g; } $line =~ s/([^\'])\'t\'(.)/THIS_IS_TRUE/g; $line =~ s/THIS_IS_TRUE/1/g; $line =~ s/([^\'])\'f\'(.)/THIS_IS_FALSE/g; $line =~ s/THIS_IS_FALSE/0/g; $line =~ s/AUTOINCREMENT/AUTO_INCREMENT/g; print $line; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!