首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

主键更新有关问题

2012-09-19 
主键更新问题SSH中我创建一个学生表,以学号为主键,加入我插入了一条学生的数据,SSH中更新学号时发生异常,

主键更新问题
SSH中我创建一个学生表,以学号为主键,加入我插入了一条学生的数据,SSH中更新学号时发生异常,信息如下:Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1。是不是SSH不能直接更新主键,只能先删除,再插入一条主键更新的数据?是不是只能学生表用自增列作为主键,这样可以随意更改学号?有没有什么办法可以直接更新主键?

[解决办法]
主键是一条记录的标识符,而不应具有业务含义,这是数据表设计最重要的原则之一。
[解决办法]
经常会根据主键进行查询,主键确定了记录的唯一性,如果经常变换,在增加个id作为主键
[解决办法]
主键是唯一的,不可更改的。
想要更改学号的话,还是不要把它作为主键吧。

热点排行