SQLite3 からの効率的な MySQL 移行
SQLite3 から MySQL へのデータの移行は、特に適切なツールがなければ困難な作業になる可能性があります。この課題に対処するために、この記事では、SQLite3 と MySQL 構文の主な違いの包括的な概要を示し、その後、変換プロセスを容易にするサンプル Perl スクリプトを紹介します。
構文の相違
シームレスな移行を確実に行うには、いくつかの構文の違いを考慮する必要があります。以下を含みます:
サンプル Perl スクリプト
次の Perl スクリプトは多くのことに対処しますこれらの構文の不一致を修正し、特定のデータセット用にカスタマイズできます:
#! /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; } }
以上がSQLite3 データベースを MySQL に効率的に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。