2013-01-15 97 views
0

我使用symfony中,膩子和其他SQL命令似乎正常工作,但是當我試圖運行一個.sql文件(其中有很多),在命令行中拋出一個錯誤:如何使用MySQL命令行工具執行SQL文件?

You have an error in your SQL syntax; check the manual ... 

這是我試圖要執行的命令:

mysql < data/MySQLFile.sql; 

我已經使用了適當的數據庫上use命令,並使用完整路徑,相對路徑,等試過不知道是什麼問題。

這裏的語句:

ALTER TABLE tablename 
    ADD COLUMN `blahblah` varchar(10) NULL; 
ALTER TABLE tablename 
    ADD COLUMN `ggggggg` varchar(50) NULL; 
+1

關於我們展示生成錯誤的SQL語句是什麼?我們無法從這裏看到SQL文件。 –

+0

是的,我發佈了生成錯誤的sql語句,它是'mysql

+0

不,這不是這個說法。產生錯誤的語句是SQL腳本中的某處*。 –

回答

2

好吧,如果你是在MySQL接口已經鍵入:

\. /full path/to/file.sql 

我用全路徑的意思是,你需要根據當前指定OS文件系統文件的位置。僅僅通過數據/是不夠的。因爲如果你使用Mac OS例如,它應該是: 從終端,並假設是在文件:

mysql < /Users/<yourusername>/Documents/file.sql 

如果您已經在MySQL登錄,然後鍵入:

\. /Users/<yourusername>/Documents/file.sql 

如果我的祕訣不幫助你,我會建議你去這個頁面:

http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html 要了解更多關於此。

1

我想你只需要在sql文件的路徑前鍵入'source'即可。所以,你將有

mysql < source [fullpath]/MySQLFile.sql; 
0

,如果你想通過命令行

mysql -u user -p < file.sql

執行,如果你想要執行一次到MySQL數據庫中記錄。使用下面的任何命令。

source file.sql 

\. file.sql

mysql db_name <file.sql