我有3 sql文件從sqlite3轉儲遷移。不幸的是,他們有多行字符串值。所以,當我mysql -p dbname <- dbname.sql
它在特定線路返回語法錯誤:mysql文件導入多行字符串
ERROR 1064 (42000) at line 87194: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '15052','53663423259319','21:35:45','FALSE','536625' at line 1
這些行可能看起來像這樣(線已經被編輯過屏蔽):
87193 INSERT INTO `tbl` VALUES('15052','53663968185392','21:57:25','FALSE','53634933924616','79886','','','','','79886','rado','simple','');
87194 INSERT INTO `tbl` VALUES('15052','53663466948450','21:37:30','FALSE','53653949005223','62487','','','','','62487','Nopa','oh, i dunno:
87195
87196 ☺
87197 /|\ /()\
87198 /\ /\','');
87199 INSERT INTO `tbl` VALUES('15052','53663423259319','21:35:45','FALSE','53662542442479','28086','','','','','28086','ESOS','AHAHAHAHAHAHAHA ','');
如何導入這些SQL文件,並讓MySQL明白,如果一個字符串不以單引號結尾,那麼下面還有一行?我搜索了一些MySQL的參數,但沒有找到任何。
我也嘗試使用http://www.redmine.org/attachments/8273/sqlite3-to-mysql.py並重做遷移,因爲它說python腳本處理這種多線路故障。然而,每當控制檯顯示「Killed」時,我猜想是因爲臨時文件操作(sqlite3數據庫文件超過100Gb)。我改變了tempfile.tempdir = "/home/username/sqlite_to_mysql/
,希望它可以爲臨時文件提供足夠的空間(6Tb免費),但控制檯仍然返回「Killed」。在創建sql文件之前,我不知道其他解決方法。
非常感謝您的幫助!
你用過Django的? Django轉儲和導入功能是從一個數據庫移動到另一個數據庫的最簡單方式。但是,如果你從未使用Django,學習曲線將會過於陡峭。 – e4c5
返回確切的錯誤是什麼? –
謝謝! @ e4c5我從來沒有用過django。 – leoce