來自網絡轉載php
仍是字符集的問題html
使用source導入外部sql文件:mysql
mysql> source F:\php\bookorama.sql;
--------------
source F:
--------------
ERROR:
Unknown command '\b'.
ERROR:
Failed to open file 'F:hp\bookorama.sql', error: 2linux
竟然報錯, 仔細分析錯誤緣由,發現文件路徑已經出現問題:F:hp ,而本來文件的路徑是F:\php, 因而想到反斜槓被當成轉義字符處理了。。因此再次嘗試使用雙斜槓來導入外部文件:sql
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)數據庫
查看結果:windows
mysql> show tables;
+-----------------+
| Tables_in_books |
+-----------------+
| book_reviews |
| books |
| customers |
| order_items |
| orders |
+-----------------+
5 rows in set (0.00 sec)服務器
雖然報錯,但執行任然成功了的。。網絡
因而第一時間向度娘求助:ui
引用地址: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
引用地址:http://blog.csdn.net/vebasan/article/details/7619911
sql腳本是包含一到多個sql命令的sql語句,咱們能夠將這些sql腳本放在一個文本文件中(咱們稱之爲「sql腳本文件」),而後經過相關的命令執行這個sql腳本文件。基本步驟以下:
一、建立包含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;
二、執行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