簡體   English   中英

用phpmyadmin導入SQL文件asreplace

[英]import sql file asreplace with phpmyadmin

如何使用phpmyadmin導入SQL文件(是,sql不是csv),以便在導入時替換或更新數據? 我沒有找到選擇。 我還創建了另一個臨時數據庫,在其中導入了所涉及的sql文件(僅具有INSERT-行,僅數據無結構),然后導出以選擇合適的選項,例如INSERT ... SELECT ... ON DUPLICATE KEY UPDATE ..但未找到對這種情況有幫助的任何一項。

那么我該如何實現呢? 如果不使用phpMyAdmin,是否有一個程序可以將“插入” sql文件轉換為“重復復制更新”,甚至從“插入”轉換為“刪除”,之后可以重新導入原始文件?

我如何做到這一點,如果可以幫助上述工作,或者如果有人對先前的步驟有更好的解決方案:我要導入一個半大(1 GB)的DB文件,然后將其分成多個較小的文件以將其導入。 其中之一是結構化sql-dump並保留數據。 當仍然嘗試通過大文件時,嘗試通過htaccess或phpmyadmin導入選項來調整超時設置並沒有幫助-無論如何總是獲得超時。 由於這些無效,我找到了Janos Rusiczki的程序( https://rusiczki.net/2007/01/24/sql-dump-file-splitter/ ),將sql文件拆分為較小的文件(好程序,感謝Janos) !)。 它還將結構與數據分離。

但是,在8成功導入之后,在phpmyadmin已經導入文件的一部分之后,我再次超時。 因此,我最終陷入了當前局面。 我知道,我總是可以刪除所有文件,甚至可以從更小的部分文件重新開始,但是..我確信有更好的方法可以做到這一點。 必須有一種在導入時替換文件的方法,或執行上述其他方法。

謝謝你的幫助! :)

INSERT ...在DUPLICATE KEY上爬行(不執行任何操作) ,您可以使用正則表達式將每個INSERT轉換為sql文件中的INSERT IGNORE ,它將傳遞所有已導入的條目。

請注意,這也會忽略其他錯誤,但是在這種情況下,除了超時錯誤以外,似乎不太可能發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM