mysql執行sql指令碼報錯ERROR 1366 (HY000) 解決
mysql執行sql指令碼是有兩種方式:
方式1:
在控制檯下,進入mysql的bin目錄,
mysql -u user -p"password" -P 3308 -D testdb < d:\test\test.sql
這裡的test.sql是待執行的sql指令碼,記得要寫絕對路徑。
方式2:
進入mysql的執行命令列下,用source命令執行:
Mysql>source d:\test\test.sql
或
Mysql>\. d:\test\test.sql
問題:
用方式1執行sql指令碼時,報錯如下:
網上查了這個錯誤,是字符集方面的。但是,當我嘗試把test.sql裡的sql語句分開一條一條在Navicat客戶端上執行,或者用以下方式執行:
mysql -u user -p"password" -P 3308 -D testdb -e "update ** set col1="中文";"
發現全部都執行成功了。
這說明sql指令碼本身自己是沒有問題的。所以問題可能出在sql指令碼的編碼格式上。
經過檢查發現,因為我的sql指令碼是用txt編寫,儲存時預設編碼格式是ansi。於是重新儲存,如下:
選擇編碼格式為utf8。再次執行,成功。
注:如果待執行的sql指令碼中含有中文字元,需要注意指令碼的編碼格式。
方式1:
在控制檯下,進入mysql的bin目錄,
mysql -u user -p"password" -P 3308 -D testdb < d:\test\test.sql
這裡的test.sql是待執行的sql指令碼,記得要寫絕對路徑。
方式2:
進入mysql的執行命令列下,用source命令執行:
Mysql>source d:\test\test.sql
或
Mysql>\. d:\test\test.sql
問題:
用方式1執行sql指令碼時,報錯如下:
網上查了這個錯誤,是字符集方面的。但是,當我嘗試把test.sql裡的sql語句分開一條一條在Navicat客戶端上執行,或者用以下方式執行:
mysql -u user -p"password" -P 3308 -D testdb -e "update ** set col1="中文";"
發現全部都執行成功了。
這說明sql指令碼本身自己是沒有問題的。所以問題可能出在sql指令碼的編碼格式上。
經過檢查發現,因為我的sql指令碼是用txt編寫,儲存時預設編碼格式是ansi。於是重新儲存,如下:
選擇編碼格式為utf8。再次執行,成功。
注:如果待執行的sql指令碼中含有中文字元,需要注意指令碼的編碼格式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28497416/viewspace-2128698/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Centos7-mysql執行報錯ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement.CentOSMySqlError
- sh指令碼執行報錯指令碼
- MySQL報錯ERROR 2013 (HY000): Lost connection to MySQL server during queryMySqlErrorServer
- mysql 報錯:ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘ for column ‘name‘ at row 1MySqlError
- MySQL 報錯 ERROR 1290 (HY000): running with the --secure-file-privMySqlError
- 【MySQL】ERROR 1290 (HY000): --secure-file-priv--匯出報錯MySqlError
- Mysql連線錯誤ERROR 2003 (HY000)MySqlError
- npm 執行時報錯“因為在此係統上禁止執行指令碼”解決辦法NPM指令碼
- mybatis執行sql指令碼MyBatisSQL指令碼
- mysql 5.6.25報錯ERROR 1372 (HY000): Password hash 的一點思考MySqlError
- IDE 執行指令碼後報一長串 “CreateFile () Error: 2”IDE指令碼Error
- ERROR 1290 (HY000) 解決辦法Error
- python 建立mysql資料庫腳(執行sql)指令碼程式碼PythonMySql資料庫指令碼
- MySQL 5.7 建立使用者報錯 ERROR 1805 (HY000): Column count of mysql.user is wrongMySqlError
- 解決 React-Native mac10.14.4 執行報錯 error Failed to build iOS projectReactMacErrorAIUIiOSProject
- MySQL建立使用者報錯 ERROR 1396 (HY000): Operation CREATE USER failed for 'afei'@'%'MySqlErrorAI
- mysql登入報錯提示:ERROR 1045 (28000)的解決方法MySqlError
- 執行SQL發生錯誤!錯誤:disk I/O errorSQLError
- MySQL 5.6執行DDL報錯ERROR 1050 (42S01): Table 'sms/#sql-ib752' already existMySqlError
- 執行 shell 指令碼 \r 問題解決指令碼
- mysql 8 報錯 ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repositoryMySqlErrorAIStruct
- 解決ERROR 1030 (HY000): Got error 168 from storage engine apparmorErrorGoAPP
- mysql執行報錯mysql.sockMySql
- Jenkins 執行 selenium 自動化測試指令碼,呼叫 webdriver 時報錯:[Errno 8] Exec format error:Jenkins指令碼WebORMError
- mysql匯入sql檔案報錯 ERROR 2013 2006 2002MySqlError
- mysql錯誤詳解(1819):ERROR 1819 (HY000): Your password does not satisfy the current policy requirementsMySqlErrorUIREM
- ERROR 1290 (HY000): The MySQL server is running withErrorMySqlServer
- CMD 執行大檔案SQL指令碼SQL指令碼
- sqlplus執行sql檔案報錯SQL
- MySQL error 錯 誤 碼MySqlError
- 阿里雲mysql遠端登入報ERROR 2027(HY000)阿里MySqlError
- 執行flutter run命令報錯::ERROR: Could not connect to lockdownd, error code -17FlutterError
- linux下連線mysql報錯ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysqLinuxMySqlErrorServer
- MySQL5.7叢集(MGR)啟動報ERROR 3092 (HY000)MySqlError
- mybatis plus 執行sql報錯 CommunicationsException, druid version 1.2.13, jdbcUrl : jdbc:mysql://XXXMyBatisExceptionUIJDBCMySql
- Laravel Mix - 執行 NPM install 報錯解決辦法LaravelNPM
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- Mysql資料庫報ERROR 1045 (28000)報錯及MySQL忘記密碼找回MySql資料庫Error密碼