Ohne weitere Umschweife werde ich den Code direkt für Sie posten. Der spezifische Code lautet wie folgt: #!/usr/bin/perl # # basierend auf https://stackoverflow.com/a/87531/5742651 # Verwendung: sqlite3 .dump Datenbankname.sqlite3 | perl sqlite2mysql.pl | mysql -u root -p $import_Datenbankname # # folgende Zeilen ignorieren: # TRANSAKTION BEGINNEN # BEGEHEN #sqlite_sequenz # EINDEUTIGEN INDEX ERSTELLEN # PRAGMA foreign_keys=AUS # "tablename/field" => `Tabellenname/Feld` # Boolesche Werte 't' und 'f' => 1 und 0 # AUTOINCREMENT => AUTO_INCREMENT # varchar => varchar(255) # Tabelle erstellen ... => Tabelle löschen; Tabelle erstellen ... # Fügen Sie Insert-SQLs zu mehreren Inserts zusammen, um die Geschwindigkeit zu erhöhen # IN Tabelle einfügen VALUES('val1'); # IN Tabelle EINFÜGEN VALUES('val2'); => IN Tabelle EINFÜGEN VALUES('val1'), ('val2'), ('val3'); # IN Tabelle einfügen VALUES('val3'); mein $open=0; mein $line_cache = ''; # Zur Beschleunigung drucken "SET GLOBAL max_allowed_packet=209715200;\n"; #drucken "SET AUTOCOMMIT=0;\n"; während ($line = <>){ wenn (($line !~ /PRAGMA foreign_keys=OFF/) && ($line !~ /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){ wenn ($line =~ /CREATE TABLE \"([a-z_0-9]*)\"(.*)/){ $name = "\`$1\`"; $sub = $2; $sub =~ s/varchar([^(])/varchar(255)$1/g; $line = "Tabelle löschen, wenn $name vorhanden ist;\nTabelle erstellen $name$sub\n"; } elsif ($line =~ /ANSICHT ERSTELLEN ([a-z_0-9]*)(.*)/){ $name = "\`$1\`"; $sub = $2; $line = "ANSICHT LÖSCHEN, WENN $name VORHANDEN IST;\nANSICHT ERSTELLEN $name$sub\n"; } elsif ($line =~ /INSERT INTO \"([a-z_]*)\" VALUES(.*);/){ wenn ($open == 0) { $öffnen = 1; $line_cache .= "INSERT INTO \`$1\` VALUES $2"; } anders { $line_cache .= ", $2"; } nächste; }anders{ $zeile =~ s/\'\'/\\\'/g; } wenn ($open == 1) { $öffnen = 0; $line = $line_cache.";\n".$line; $line_cache = ''; } $line =~ s/\"/`/g; $line =~ s/([^\\'])\'t\'(.)/$1DAS_IST_WAHR$2/g; $line =~ s/DAS_IST_WAHR/1/g; $line =~ s/([^\\'])\'f\'(.)/$1DIES_IST_FALSCH$2/g; $line =~ s/DIES_IST_FALSCH/0/g; $line =~ s/AUTOINCREMENT/AUTO_INCREMENT/g; drucke $line; } } #drucken "SET AUTOCOMMIT=1;\n"; Zusammenfassen Oben ist die vom Herausgeber vorgestellte Methode zum Migrieren von SQLite-Skripten zu MySQL. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: So implementieren Sie Sveltes Defer Transition in Vue
>>: Schritte zum Erstellen Ihres eigenen YUM-Repositorys
KDE Abkürzung für Kool Desktop Environment. Eine ...
Dieser Artikel dokumentiert den Installations- un...
Inhaltsverzeichnis Erster Blick Erstellen einer V...
Möglicherweise sehen Sie häufig den folgenden Eff...
Dieser Artikel veranschaulicht anhand eines Beisp...
Ich habe vor, die internen Dokumente des Unterneh...
Methode 1: Absenden über den Absenden-Button <...
Der Vue-Teil ist wie folgt: <Vorlage> <K...
Inhaltsverzeichnis 1. Grundlegende Einführung in ...
Inhaltsverzeichnis getApp() Definieren Sie Variab...
Starten Sie die virtuelle Centos8-Maschine und dr...
Als ich anfing, Webseiten mit XHTML CSS zu entwer...
1Beispiel: Um die in Abbildung 1 gezeigten Felder...
In diesem Abschnitt beschreibt der Autor die spez...
In diesem Artikel wird der spezifische Code von N...