【发布时间】:2015-08-25 21:32:07
【问题描述】:
所以,问题几乎完全在标题中:
我正在 Windows 机器上运行 Android 虚拟机,我正在尝试通过 php 脚本和 mysqldump 从 XAMPP-phpmyadmin 服务器传输 MySQL 数据库,以在 Android 机器上创建新的 SQLite 数据库。当我运行脚本时,就像
$config = parse_ini_file('config.ini');
$dump = shell_exec('mysqldump --user=' . $config['username'] . ' --password=' . $config['password'] . ' --opt users');
我得到了 SQL 转储,我可以在 Android 中将其作为字符串回显和接收(我也可以将其写入文件)。但是当我想到从输出中提取所有的 SQL 语法时,我就汗流浃背了。
那么,是不是有一个不错的小命令行脚本可以为我做到这一点,或者任何其他更方便的方式?
编辑:为了澄清:脚本应该能够从 mysqldump 输出中提取 SQL 语法(那里有很多非 SQL 输出),所以我可以在 Android 中将字符串用于 execSQL。我只是想知道:这一定是以前做过的,我不想从这里的原始软泥开始。
编辑 2:StackOverflow 问题 Convert MySQL to SQLite 链接到包含 mysql2sqlite 的 this 页面,我可以使用 CygWin 进行转换;但我不能在 php 脚本中完成这一切,因为 CygWin 不能在 Windows 命令行中使用 mysql2sqlite 和转储文件作为参数。对吧?
【问题讨论】:
-
你的措辞令人困惑。您能否说明 Android 设备将如何接收 SQL 转储?
-
@AlexW 好的,试图澄清它...考虑从回显输出并将其作为字符串接收开始,然后将其用于新 SQLite 数据库上的 execSQL。
-
@AlexW 虽然在技术上是一种解决方法,但我也接受它作为答案:)
-
太棒了。很高兴你明白了!刚刚添加它作为答案。