Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Fail SQL Dump MySQL kepada Pangkalan Data SQLite3?

Bagaimana untuk Menukar Fail SQL Dump MySQL kepada Pangkalan Data SQLite3?

DDD
Lepaskan: 2024-11-03 01:27:29
asal
699 orang telah melayarinya

How to Convert a MySQL Dump SQL File to a SQLite3 Database?

Menukar MySQL Dump SQL kepada Sqlite3 DB

Mengimport fail MySQL dump SQL ke dalam pangkalan data SQLite3 memerlukan penukaran untuk memastikan keserasian.

Skrip shell yang disediakan menawarkan cara automatik untuk menukar fail dump:

<code class="shell">#!/bin/sh
# Usage:  <dumpname>

if [ "x" == "x" ]; then
   echo "Usage:  <dumpname>"
   exit
fi
cat  |
grep -v ' KEY "' |
grep -v ' UNIQUE KEY "' |
grep -v ' PRIMARY KEY ' |
sed '/^SET/d' |
sed 's/ unsigned / /g' |
sed 's/ auto_increment/ primary key autoincrement/g' |
sed 's/ smallint([0-9]*) / integer /g' |
sed 's/ tinyint([0-9]*) / integer /g' |
sed 's/ int([0-9]*) / integer /g' |
sed 's/ character set [^ ]* / /g' |
sed 's/ enum([^)]*) / varchar(255) /g' |
sed 's/ on update [^,]*//g' |
perl -e 'local $/;$_=<>;s/,\n\)/\n\)/gs;print "begin;\n";print;print "commit;\n"' |
perl -pe '
  if (/^(INSERT.+?)\(/) {
     $a=;
     s/\'\''/'\'\''/g;
     s/\n/\n/g;
     s/\),\(/\);\n$a\(/g;
  }
  ' > .sql
cat .sql | sqlite3 .db > .err
ERRORS=`cat .err | wc -l`
if [ $ERRORS == 0 ]; then
  echo "Conversion completed without error. Output file: .db"
  rm .sql
  rm .err
    rm tmp
else
   echo "There were errors during conversion.  Please review .err and .sql for details."
fi</code>
Salin selepas log masuk

Skrip melakukan transformasi berikut:

  • Mengalih keluar definisi kunci berlebihan.
  • Menetapkan medan kepada tidak ditandatangani jika berkenaan.
  • Menetapkan medan auto_increment kepada autoincrement kunci utama.
  • Menukar jenis integer kepada yang setara dalam SQLite (smallint, tinyint, dan int menjadi integer).
  • Mengalih keluar set aksara.
  • Menukar jenis enum kepada varchar(255).
  • Mengalih keluar rujukan set untuk mengemas kini pencetus.
  • Menukar berbilang sisipan baris kepada sisipan individu untuk keserasian SQLite.
  • Membungkus SQL yang ditukar dalam transaksi untuk keselamatan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Fail SQL Dump MySQL kepada Pangkalan Data SQLite3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan