下面的代码来自 http://www.sqlite.org/cvstrac/wiki?p=ConverterTools,用于转换MySql语句到SQLite语句。
# mysql2sqlite : Convert MySql statement to SQLite statement cat mysql.sql | grep -v ' KEY "' | grep -v ' UNIQUE KEY "' | grep -v ' PRIMARY KEY ' | sed 's/ unsigned / /g' | sed 's/ auto_increment/ primary key autoincrement/gi' | sed 's/ smallint([0-9]*) / integer /gi' | sed 's/ tinyint([0-9]*) / integer /gi' | sed 's/ int([0-9]*) / integer /gi' | sed 's/ character set [^ ]* / /gi' | sed 's/ enum([^)]*) / varchar(255) /gi' | sed 's/ on update [^,]*//gi' | perl -e 'local $/;$_=<>;s/,\n\)/\n\)/gs;print "begin;\n";print;print "commit;\n"' | perl -pe ' if (/^(INSERT.+?)\(/) { $a=$1; s/\\'\''/'\'\''/g; s/\\n/\n/g; s/\),\(/\);\n$a\(/g; } '
也许一段MySql的语句有助于理解上述代码的工作方式
CREATE TABLE IF NOT EXISTS `page_info` ( `id` int(11) unsigned NOT NULL auto_increment, `page` varchar(200) default NULL, `created` datetime default NULL, `updated` datetime default NULL, `creator` varchar(100) default NULL, `tag` varchar(200) default NULL, `title` varchar(250) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `page` (`page`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=141 ;