【问题标题】:MySQL (mysqldump) to SQLite on Android - is there a Windows shell / command line script?Android 上的 MySQL (mysqldump) 到 SQLite - 是否有 Windows shell/命令行脚本?
【发布时间】: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 虽然在技术上是一种解决方法,但我也接受它作为答案:)
  • 太棒了。很高兴你明白了!刚刚添加它作为答案。

标签: php android mysql sqlite


【解决方案1】:

如果您以 .sql 格式导出 mysqldump directly from SQLLite on Android 并添加用于重新创建表等的选项,则可以导入它。

不必担心文件中的非 SQL 语法,因为它应该被注释掉。

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 2017-12-20
    • 2012-12-22
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多