Mysql

我們在哪裡可以找到帶有未損壞城市名稱的“sakila”玩具數據庫的副本?

  • April 10, 2022

可從https://dev.mysql.com/doc/index-other.html>下載為<https://downloads.mysql.com/docs/sakila-db.zip的“sakila”玩具數據庫包含一個表格由於我認為是在文件生命週期內發生的編碼錯誤,其城市名稱已被損壞。city

例如,可從同一下載頁面獲得的世界數據庫(sakila 數據庫的祖先)有一個city表格,其中包含正確拼寫的城市,例如A Coruña (La Coruña)(西班牙)、Acuña(墨西哥)和Balašiha(俄羅斯),但 sakila 的city表格有A Corua (La Corua), Acua, 和Balaiha分別。根據我對 sakilacity表與 worldcity表的粗略比較,這些是 sakila 表中城市名稱中缺少的一些擴展字元:

á, â, ç, é, İ, í, ñ, ó, ö, š

如果不是來自 mysql.com,在哪裡可以找到包含正確拼寫城市的 sakila 數據庫的副本?

mysql-examples-8.0.28.msi可從https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-examples-8.0.28.msi獲得的數據庫轉儲文件已損壞。

如果您只需要城市名稱,請下載world範例數據庫。

https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-tutorial-python-download.html https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-tutorial-javascript-download.html

您也可以嘗試通過 MySQl 安裝程序下載“範例和範例”文件以獲取某些舊版本。

聽起來 LOAD DATA 命令沒有正確指定傳入的編碼 ( CHARACTER SET)。

更多的

查看數據文件,我得出結論,重音字元不存在。也就是說,問題不在於您的操作,而在於源數據。

# hexdump -C sakila-data.sql | egrep -1 'A Coru|a c|una' | head;
00003850  73 74 20 41 76 65 6e 75  65 27 2c 27 27 2c 27 4b  |st Avenue','','K|
00003860  61 64 75 6e 61 27 2c 32  35 32 2c 27 34 33 33 33  |aduna',252,'4333|
00003870  31 27 2c 27 37 34 37 37  39 31 35 39 34 30 36 39  |1','747791594069|
--
00003a10  35 20 32 32 3a 33 32 3a  33 30 27 29 2c 0a 28 32  |5 22:32:30'),.(2|
00003a20  35 2c 27 32 36 32 20 41  20 43 6f 72 75 61 20 28  |5,'262 A Corua (|
00003a30  4c 61 20 43 6f 72 75 61  29 20 50 61 72 6b 77 61  |La Corua) Parkwa|

這又回到了您最初的問題“好的副本在哪裡?”

我看到已經創建了一個錯誤報告:

https://bugs.mysql.com/bug.php?id=106951

引用自:https://dba.stackexchange.com/questions/310675