Mysql int类型长度有关问题 这个有关问题让小弟我狠匪夷所思
Mysql int类型长度问题这个问题让我狠匪夷所思前言:mysql int类型(M)括号中填的数字是显示宽度而不是列的
Mysql int类型长度问题 这个问题让我狠匪夷所思
前言:mysql int类型(M)括号中填的数字是 显示宽度 而不是列的长度 (PS:网上看到的)
我数据库中
int(10)作为主键列
当数据添加到 Duplicate entry '4770549' for key 'PRIMARY'
4770549 就添加不进去了
错误提示: org.hibernate.AssertionFailure: null id in com.zqkj.entity.StatExitModel entry (don't flush the Session after an exception occurs)
我一看org.hibernate.AssertionFailure 异常
要么就是字段类型不匹配、要么是有关键字、要么是长度不够
我这程序跑三个月了 前两个我就排除了 那就剩下长度问题了
一共三个字段 一个主键 一个时间 一个UID UID是varchar我设置了255(hibernate建表默认的 我也没改)
那就剩主键了 然后我把10改成20 就可以正常运行了 求大神指导 这是什么情况
[解决办法]
主键当然不能重复添加了
简单说 就是(M)忽略吧 一点用没有 这个就是个显示长度的问题 存储长度是int 4字节
[解决办法]
主键是自动增长不需要添加的,会报错的。
[解决办法]
show create table 贴出来以供分析。
INT可以支持到 2147483647 哪怕是 INT(1) 也同样。
[解决办法]
建议楼主同样做如下测试,应该不是INT字段长度的问题。感觉上应该在程序端出问题了。 你可以打开一般查询日志做跟踪,看到底程序提交到数据库的语句是什么。