zoukankan      html  css  js  c++  java
  • 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字段插入没有默认值的数据,以及上面提到的插入数据被截断提示由警告变成错误。

    消除这个警告有两种方案:

    1. 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'",                                                              
                }
            }
        }
    1. 修改myql的配置文件/etc/my.cnf,重启后对所有连接生效
      [mysqld]下面添加如下列:
      sql_mode=STRICT_TRANS_TABLES


    作者:挨踢的懒猫
    链接:https://www.jianshu.com/p/bc41a8bf9d9b
  • 相关阅读:
    appium工作原理
    Python文件读写模式
    Redis info 参数详解
    MySQL show status 参数详解
    Monit : 开源监控工具介绍
    Ansible(三)
    Ansible(二)
    Ansible(一)
    使用python实现后台系统的JWT认证(转)
    微信公众号-5秒内不回复测试并处理方案,顺便复习php 时间执行
  • 原文地址:https://www.cnblogs.com/lutt/p/12079557.html
Copyright © 2011-2022 走看看