mysql 报错1264_MySQL的错误1264, 1406, 1329 ,1101 的修改方法

根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES)

的限制:这个模式是造成这类错误的根本原因

不支持对not null字段插入null值

不支持对自增长字段插入''值,可插入null值

不支持 text 字段有默认值

方案一:(自动增长的情况可以尝试这个方案)

在my.ini里找到

sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

把其中的STRICT_TRANS_TABLES,去掉,

或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

方案二:

待续

================================邪恶的分割线=================================

一些基本的常识:

1. 查看默认的sql mode模式: select

@@sql_mode;

2.在Mysql5.0以上版本中,有三种sql

mode模式(ANSI、TRADITIONAL和STRICT_TRANS_TABLES(严格模式)).

3.通过设置不同的sql

mode,可以在不同严格程序进行数据校验,有效地保证了数据准确性.

4.通过设置sql

mode为STRICT_TRANS_TABLES(严格模式)来实现数据的严格校检,使错误数据不能插入,从而保证数据准确性.

5.通过设置sql

mode为ANSI模式,来保证大多数SQL符合标准SQL的语法,这样在不同数据库之间迁移时,不需要对业务修改太多.

6.非严格模式:会对语法的限制降到最低,导致很多不规范的语句都可以执行,会导致歧义.

严格模式:可以实现严格校检,使错误数据不能插入,从而保证数据准确性.

7.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值