django-建表出现的错误
Posted lutt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-建表出现的错误相关的知识,希望对你有一定的参考价值。
在执行python3 manage.py migrate时出现以下错误
?: (mysql.W002) MySQL Strict Mode is not set for database connection ‘default‘ HINT: MySQL‘s Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-sql-mode
就是没有给mysql连接启用严格模式,而严格模式能解决很多数据完整性问题,官方墙裂建议开启。
严格模式对于数据完整性校验比较严格,对SQL语句的健壮性要求更高,比如不允许NOT NULL字段插入没有默认值的数据,以及上面提到的插入数据被截断提示由警告变成错误。
消除这个警告有两种方案:
- 在
OPTIONS
添加开启的严格命令,对当前连接生效DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘: ‘stock‘, ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘root‘, ‘HOST‘:‘127.0.0.1‘, ‘PORT‘:‘3306‘, ‘OPTIONS‘: { "init_command": "SET sql_mode=‘STRICT_TRANS_TABLES‘", } } }
- 修改myql的配置文件
/etc/my.cnf
,重启后对所有连接生效
在[mysqld]
下面添加如下列:sql_mode=STRICT_TRANS_TABLES
作者:挨踢的懒猫
链接:https://www.jianshu.com/p/bc41a8bf9d9b
以上是关于django-建表出现的错误的主要内容,如果未能解决你的问题,请参考以下文章
在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误
使用 java 在 access 数据库中创建表期间出现“保留错误 (-5001) 并且没有出现此错误的原因”
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段