MySQL執行外部sql腳本文件命令是報錯:unknown command

使用source導入外部sql文件:

mysql> source F:\php\bookorama.sql;
--------------
source F:
--------------

ERROR:
Unknown command '\b'.
ERROR:
Failed to open file 'F:hp\bookorama.sql', error: 2

居然報錯, 仔細分析錯誤原因,發現文件路徑已經出現問題:F:hp ,而原本文件的路徑是F:\php,   於是想到反斜槓被當成轉義字符處理了。。所以再次嘗試使用雙斜槓來導入外部文件:

mysql> source F:\\php\\bookorama.sql;
ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\\'.
Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.09 sec)

Query OK, 0 rows affected (0.08 sec)

查看結果:

mysql> show tables;
+-----------------+
| Tables_in_books |
+-----------------+
| book_reviews    |
| books           |
| customers       |
| order_items     |
| orders          |
+-----------------+
5 rows in set (0.00 sec)

雖然報錯,但執行任然成功了的。。

於是第一時間向度娘求助:

問題的解決方法如下: 

引用地址:http://blog.chinaunix.net/uid-10449864-id-3369246.html

mysql導入數據出現--unknown command '\'

今天在還原Discuz備份數據庫的時候,遇到一個問題。

原來的服務器環境使用的windows,然後使用phpmyadmin備份出來的數據庫怎麼也不能在linux下的數據庫中導入。
導入的時候出現下面的錯誤:

unknown command '\'

後來發現phpmyadmin連接windows上的數據庫,導出時使用的是utf8編碼,而我linux本機連接mysql(my.cnf)用的是gbk編碼。這樣一來,備份文件恢復的時候可能就出現了格式錯誤。

後來在導入的時候指定字符集 --default-character-set=utf8,再次導入備份文件,一切順利。

命令如下:

mysql -uroot -p --default-character-set=utf8  test_server < test_service.sql

如果你要繼續使用source的方法:

-uroot -p  --default-character-set=utf8

use 數據庫名

source 導入地址


導入外部sql文件的方式:

引用地址:http://blog.csdn.net/vebasan/article/details/7619911


sql腳本是包含一到多個sql命令的sql語句,我們可以將這些sql腳本放在一個文本文件中(我們稱之爲“sql腳本文件”),然後通過相關的命令執行這個sql腳本文件。基本步驟如下:

1、創建包含sql命令的sql腳本文件
文件中包含一些列的sql語句,每條語句最後以;結尾,文件內容示例如下:
--創建表,使用“--”進行註釋
create table 表名稱
(                   
  Guid Varchar(38) not null primary key,  
  Title Varchar(255),       
              
) TYPE=InnoDB;

--在表A中增加字段Status
alter table A add Status TinyInt default '0';

--在表A上創建索引
create index XX_TaskId_1 on A(Id_);
--在A表中添加一條記錄
Insert into A (Id,ParentId, Name) values(1,0,'名稱');
--添加、修改、刪除數據後,有可能需要提交事務
Commit;

2、執行sql腳本文件
方法一 
使用cmd命令執行(windows下,unix或linux在的其控制檯下)
【Mysql的bin目錄】\mysql –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】,示例:
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
注意:
A、如果在sql腳本文件中使用了use 數據庫,則-D數據庫選項可以忽略
B、如果【Mysql的bin目錄】中包含空格,則需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用戶名 –p密碼 –D數據庫<【sql腳本文件路徑全名】

方法二 進入mysql的控制檯後,使用source命令執行
Mysql>source 【sql腳本文件的路徑全名】 或 Mysql>\. 【sql腳本文件的路徑全名】,示例:
source d:\test\ss.sql 或者 \. d:\test\ss.sql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章