mysql insert 返回值是什么_MyBatis框架insert插入操作返回值解读
插入属于数据库的基本操作,但是很多人对下面两个问题有点疑惑:(1)如何判断是否插入成功呢?是根据返回值吗?(2)insert什么时候返回0?其实,上面这两个问题的本质就是对“insert插入的返回值”不清楚。话说,我也没有搞清楚,也许之前搞明白了,后来忘记了,最近通过走读MyBatis的源码又加深了印象,特总结了下来。(1)insert插入的返回值是新增数据的ID。当然,前提是数据库支持自增的ID
·
插入属于数据库的基本操作,但是很多人对下面两个问题有点疑惑:
(1)如何判断是否插入成功呢?是根据返回值吗?
(2)insert什么时候返回0?
其实,上面这两个问题的本质就是对“insert插入的返回值”不清楚。话说,我也没有搞清楚,也许之前搞明白了,后来忘记了,最近通过走读MyBatis的源码又加深了印象,特总结了下来。
(1)insert插入的返回值是新增数据的ID。当然,前提是数据库支持自增的ID主键。
(2)如果没有定义自增主键,那么将返回一个特殊的数,至于这个数是什么,在MyBatis里面是这样定义的:Integer.MIN_VALUE + 1001
至此,上面的两个问题可以得到合理的解决:
(1)可以根据返回值来判断是否插入成功,返回结果不为 Integer.MIN_VALUE + 1001的,都属于新增数据的ID,自然可以判断依据插入成功。
(2)此问题本身就是问题,不应该这么发问。insert返回值是新增数据的ID,通常来说,MySQL AUTO_INCREMENT会从1开始编号,也就意味着什么时候也不会返回0。
Y_1
更多推荐
已为社区贡献3条内容
所有评论(0)