2014-05-21 81 views
0

我遇到問題。我正在嘗試爲我的內容管理系統創建一個安裝程序,這將使此過程儘可能簡單和輕鬆。上傳大小約爲8MB。我有一個處理sql文件的腳本,但它不允許';'在字符串中,這對我沒有好處。處理所有查詢也需要大約一個小時。如何導入大型.sql文件

有沒有什麼辦法可以在很短的時間內導入sql文件,並允許varchar中的';'?

+0

見我的答案爲[在PHP下運行MySQL * .sql文件(http://stackoverflow.com/questions/4027769/running-mysql-sql-files-in-php/4028289#4028289)以及其他我從那個鏈接中得到的答案。我不確定它是否重複,因爲你沒有提到PHP。但是無論您使用何種語言,該原則都適用。 –

回答

0

我認爲你需要指定類似:

delimiter $$ 

在腳本的開始和比恢復:

delimiter ; 

在腳本的結尾。 這將管理;作爲您導入期間的正常字符。

+0

感謝您的快速回復!那麼,我會添加這在我的SQL文件的頂部?或在PHP導入? – Jarrod

+0

在sql文件的開頭,並在最後恢復它。這通常用於在MySQL中編寫存儲過程以避免部分執行腳本。 – kiks73

+0

聽起來像OP有一些處理.sql文件的自定義腳本,將它拆分爲';'並運行每個語句。 'DELIMITER'是mysql客戶端的內置命令,並且不被MySQL服務器SQL分析器識別。所以我不認爲這個答案會有幫助。 –