通过 PHP 将一张表从 MySQL 复制到 SQLite

Posted

技术标签:

【中文标题】通过 PHP 将一张表从 MySQL 复制到 SQLite【英文标题】:Copying one table from MySQL to SQLite through PHP 【发布时间】:2016-08-29 02:10:54 【问题描述】:

我的 mysql 数据库中有一堆音乐数据,我需要将其复制到另一个 MySQL,但只复制选定的列(艺术家、歌曲、持续时间)。

MySQL 127.0.0.1 - 数据库Music

| Artist | Song   | Duration | Location    | Bitrate | Rating | Times Played |
------------------------------------------------------------------------------
| Bob    | Song 1 |  11:06   | C:\b\1.mp3  | 160kbps | 5      | 132          |
| Jack   | Song 7 |   0:06   | C:\j\7.mp3  | 160kbps | 2      | 10           |
| Mike   | Song 3 |   3:06   | C:\m\3.mp3  | 128kbps | 4      | 150          |
| Mike   | Song 5 |   5:06   | C:\m\5.mp3  | 128kbps | 1      | 222          |
| ------------------------------ 5000+ records ------------------------------|

SQLite 192.168.10.100 - 数据库Music

| Artist | Song   | Duration |
------------------------------
| Bob    | Song 1 |  11:06   | 
| Mike   | Song 3 |   3:06   | 
| Mike   | Song 5 |   5:06   | 
|~~~~~~~ and so on... ~~~~~~~|

挑战是复制Times Played 超过100+ 的三列,因此不应将Jack 歌曲Song 7 复制到新数据库中。

虽然我尝试将 select 查询转储到 database.sql 文件并将其提供给 SQLite,但每次都必须手动完成转储。相反,我需要一个可以每天 CRON 的 php 脚本。

【问题讨论】:

看这个:***.com/a/36924293/4980017其实需要做一个简单的流程 看起来不错。但我有一个启示。如果第二个数据库在 SQLite 下怎么办? 那么,就简单了。因为您是通过 PHP 执行此操作的。因此,由您决定使其与您喜欢的任何数据库引擎兼容 【参考方案1】:

基本方法:

INSERT INTO databese1.Music (  Artist , Song   , Duration )
SELECT  Artist , Song   , Duration
FROM    database2.Music

您需要唯一标识每个数据库

【讨论】:

以上是关于通过 PHP 将一张表从 MySQL 复制到 SQLite的主要内容,如果未能解决你的问题,请参考以下文章

oracle 中如何将一张500万数据的表从一个库快速转移到另外一个库

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

如何将一张表复制到另一张表

将一张表的数据从 HBase 0.94 复制到 HBase 0.98