要使用PHP web應用程序同步到源碼數據庫MySQL數據庫SQLite的同步,我要MySQL來從PHP到移動應用(iOS/Android設備)
- 創建SQLITE表的「視圖」鏡在MySQL
- 在MySQL選擇更改過的數據上鏡「視圖」
- 使用mysqldump來轉儲源碼的SQL,並將其保存在文件服務器上
- 從移動
- 導入數據文件直接到源碼下載
另一方法將不使用中間「視圖」表和轉儲數據使用「選擇」或mysqldump和解析它的裝置或服務器上,所以這將是由源碼
可讀是有什麼缺點是爲SQLITE在客戶端設備上需要的每個表創建鏡像「視圖」?或者是否有另一種「標準」方式來同步這兩個我在互聯網上沒有找到的方法?
編輯:搜索和編碼後一些更多的我終於決定去像這樣:
- 打造「插入......」爲從服務器上PHP源碼聲明並將其保存到一個壓縮文件
- 下載在移動設備上的文件,並插入提取SQL直接SQLITE
這裏是用於生成mysqldump的像輸出的PHP代碼:
/** key [SQLITE column name] => value [MySQL select column] */
$table_structure = array(
'id' => 'id',
'title' => 'title',
'type' => 'COALESCE(type, "")', /** u need to wrap any column that is nullable like this **/
'flags' => 'COALESCE(type, "")', /** u need to wrap any column that is nullable like this **/
'view_field' => 'view_field',
'view_year' => 'view_year',
....
....
'updated_at' => 'UNIX_TIMESTAMP(updated_at)');
$into_query = '';
$into_values = '';
$indexer = 0;
foreach ($table_structure as $sqlite => $mysql) {
$into_query .= (($indexer !== 0)? ',':'').$sqlite;
$into_values .= (($indexer !== 0)? ',",",':'').'"\'",'.$mysql.',"\'"';
$indexer++;
}
$output_filepath = "some where nice";
$query = 'SELECT CONCAT("INSERT INTO '.$table.'('.$into_query.') VALUES(",'.$into_values.',");") FROM '.$table.' ' ... "INTO OUTFILE $output_filepath CHARACTER SET utf8";
我希望這是一個好辦法,可以幫助某人某一天:)
thanx for zip文件提示 – Penman