- 舊數據庫進行inforation行
- 與多家刪除列 的重構數據庫
我想轉儲舊數據庫,並重新填充新的數據庫。填充mysqldump的數據插入到表:僅適用於存在於一個給定的數據庫
...但是,只有當新的數據庫有一個給定列
例子:
old_DB用戶表有5列:登錄,電子郵件,市,州,電話
new_DB用戶表有:登錄,電子郵件,電話
是否有質量我可以運行的操作只能填寫登錄,電子郵件和電話?
我想轉儲舊數據庫,並重新填充新的數據庫。填充mysqldump的數據插入到表:僅適用於存在於一個給定的數據庫
...但是,只有當新的數據庫有一個給定列
例子:
old_DB用戶表有5列:登錄,電子郵件,市,州,電話
new_DB用戶表有:登錄,電子郵件,電話
是否有質量我可以運行的操作只能填寫登錄,電子郵件和電話?
假設這兩種的DB同MySQL實例中運行,你可以做
INSERT INTO newdb.newtable (field1, field2, ....)
SELECT FROM olddb.oldtable (field1, field2, ...)
爲單個查詢。不需要使用轉儲。相關的文檔在這裏:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
所以馬克·B的聲明的修改工作版本是在這裏:
INSERT INTO asdf_mock.citations_sites (`citation_id`, `site_id`, `created_at`, `updated_at`)
SELECT `citation_id`, `site_id`, `created_at`, `updated_at`
FROM asdf_production.citations_sites;
與背部剔行情運行這給所需的插入。
所以我檢查了這一點......可悲的是它的一個步驟LESS自動化比IDEAL ...有沒有辦法返回newdb.newtable中存在的字段並使用它來填充SELECT FROM語句? – 2013-03-20 21:42:38
也我試過幾個變種......他們似乎並沒有工作https://gist.github.com/delinquentme/5209367和記錄我試圖插入所有行...不是一次一個:D – 2013-03-20 23:15:37
您可以查詢information_schema以獲取字段名稱,並使用該信息構建查詢。但通常,爲什麼不只是轉儲/導入整個數據庫,然後改變/刪除不需要的字段?有時比試圖保留一個或兩個字段不被導出開始更容易。 – 2013-03-21 14:42:14