さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 パーレル # # https://stackoverflow.com/a/87531/5742651 に基づく # 使用方法: sqlite3 .dump database_name.sqlite3 | perl sqlite2mysql.pl | mysql -u root -p $import_database_name # # 次の行を無視します: # トランザクションを開始 # 専念 #sqlite_シーケンス # ユニークなインデックスを作成する # プラグマ foreign_keys=OFF # "テーブル名/フィールド" => `テーブル名/フィールド` # ブール値 't' と 'f' => 1 と 0 # AUTOINCREMENT => AUTO_INCREMENT # varchar => varchar(255) # CREATE TABLE テーブル... => DROP TABLE テーブル; CREATE TABLE テーブル... # 速度を上げるために挿入SQLを複数の挿入にマージします # テーブルに挿入 VALUES('val1'); # テーブル VALUES('val2') に INSERT INTO テーブル VALUES('val1'), ('val2'), ('val3'); # テーブルに VALUES('val3') を挿入します。 私の$open=0; 私の$line_cache = ''; # スピードアップのために "SET GLOBAL max_allowed_packet=209715200;\n" を印刷します。 #print "SET AUTOCOMMIT=0;\n"; ($line = <>){ if (($line !~ /PRAGMA foreign_keys=OFF/) && ($line !~ /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){ ($line =~ /CREATE TABLE \"([a-z_0-9]*)\"(.*)/){の場合 $name = "\`$1\`"; $sub = $2; $sub =~ s/varchar([^(])/varchar(255)$1/g; $line = "$name が存在する場合はテーブルを削除します。\n$name$sub テーブルを作成します\n"; } elsif ($line =~ /CREATE VIEW ([a-z_0-9]*)(.*)/){ $name = "\`$1\`"; $sub = $2; $line = "$name が存在する場合はビューを削除します。\n$name$sub のビューを作成します\n"; } elsif ($line =~ /INSERT INTO \"([a-z_]*)\" VALUES(.*);/){ $open == 0 の場合 オープン = 1; $line_cache .= "\`$1\` の値 $2 に挿入"; } それ以外 { $line_cache .= ", $2"; } 次; }それ以外{ $line =~ s/\'\'/\\\'/g; } $open == 1の場合{ $open = 0; $line = $line_cache.";\n".$line; $line_cache = ''; } $line =~ s/\"/`/g; $line =~ s/([^\\'])\'t\'(.)/$1THIS_IS_TRUE$2/g; $line =~ s/THIS_IS_TRUE/1/g; $line =~ s/([^\\'])\'f\'(.)/$1THIS_IS_FALSE$2/g; $line =~ s/THIS_IS_FALSE/0/g; $line =~ s/AUTOINCREMENT/AUTO_INCREMENT/g; $line を印刷します。 } } #print "SET AUTOCOMMIT=1;\n"; 要約する 上記は、編集者が紹介した sqlite から mysql スクリプトに移行する方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: Svelte の Defer Transition を Vue で実装する方法
MySQL のトランザクションはデフォルトで自動的にコミットされます (autocommit = 1...
1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...
この記事では、弾幕効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内...
目次1. 穴に落ちる2. 無駄な努力3. 若さの衝動4. 希望の光5. 問題KO 6. 追記1. 穴...
導入近年、TypeScript を求める声がますます高まり、TypeScript はフロントエンドに...
Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...
Linuxバージョンのアップグレード: 1. まず、Linuxオペレーティングシステムに付属するPy...
取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...
図に示すように: ポートの使用状況を確認します: sudo netstat -apn | grep ...
私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...
async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデー...
HTML タグには、インライン要素とブロックレベル要素の 2 種類があります。まず、インライン要素と...
処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...