django.db.utils.ProgrammingError: (1146, "Table 'xxxx.django_migrations' doesn't exist")解決辦法

重新安裝linux服務器後

運行django,產生了一行數據庫錯誤:

django.db.utils.ProgrammingError: (1146, “Table ‘xxxx.django_migrations’ doesn’t exist”)

用下面的命令查看具體的錯誤:

python manage.py test -v3 sitecoming

出現如下錯誤:
django.db.utils.InternalError: (1366, “Incorrect string value: ‘\xE7\x94\xA8\xE6\x88\xB7’ for column ‘name’ at row 1”)

網上查找同類問題,應該是mysql數據編碼的問題:

在my.cnf中默認編碼改爲:utf8

以下是來自網絡的解決方法:

  1. 修改 /etc/my.cnf 配置文件,然後重啓mysqld。
    在[client]下配置:
    default-character-set=utf8
    在[mysqld]下配置:
    default-character-set=utf8
    init_c NAMES utf8′

注意:新版MySQL(如:5.5)或MariaDB等,mysqld啓動時可能會遇到“[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’”的錯誤;就應該在[mysqld]中用 character_set_server=utf8 替換掉 default_character_set=utf8 。

  1. 如果還沒有解決,那麼就得刪掉原來建的DB,重新建並制定字符集爲utf8,如:
CREATE DATABASE jay_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

以上就介紹了 django中的一個數據庫錯誤 djangodbutilsInternalError: 1366,包括了方面的內容,希望對MySql有興趣的朋友有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章