因为你的eid是varchar类型的,所以在排序的时候 10是等于壹零 而不是十,所以就会出现1后面排序10的情况了,除非你在查询的时候把eid转成integer,然后再按照integer的排序,就可以实现顺序排列了
主键的概念是数据库中的,,java如果连接了数据库的话,当然可以判断数据存不存在
主键是一行数据的标示,只要有这一行数据,就存在主键;
在生活中,就像身份z号 可以确定一个人那样
主键的概念是数据库中的,,java如果连接了数据库的话,当然可以判断数据存不存在
主键是一行数据的标示,只要有这一行数据,就存在主键;
在生活中,就像身份z号 可以确定一个人那样
例如我们新建了一张表T_User,字段如下u_id,主键,为标示符,user_name然后我们来执行一个新增插入 *** 作:
insert into T_User(user_name,user_password,user_email,user_ip)
values('admin','123456','32962435@qqcom','582015820') ;
有一天,我们想在新增插入数据的时候获取到插入这条数据的u_id的值是多少,我们知道从MSSQL2005以后新增了一个output,用来输入某个值,我们就可以利用它来实现
解决的方法有两种:
1、一种是直接输入某个字段,如:
insert into T_User(user_name,user_password,user_email,user_ip) output insertedu_id //output
insertedu_id一定要放在 values之前,不能放在sql语句的最后面,不然是出错的,inserted是固定的,你想输入当前插入的某个字段就在后面接这个字段即可,我们想获得的是u_id所以是insertedu_id
values('admin','123456','32962435@qqcom','582015820') ;
2、另一种方法是使用@@identity,@@identity是系统内置的一个全局变量,其作用就是输入最后一次的标示符,我们可以两步走也可以通过一步实现
一步实现的代码如下
insert into T_User(user_name,user_password,user_email,user_ip) output @@identity
values('admin','123456','32962435@qqcom','582015820') ;
首先要知道一个概念:主键和外键,是针对数据库而言的,只有数据库中的表才有主键外键之说。
主键就是一个表中的唯一索引,用于确定一个表中的一条记录,而外键是引用另外一个表中的主键,在当前表中不见得是唯一的,但是在被引用的表中一般是唯一的。
例如:表1:用户编号(主键),用户名称 ,部门编号(外键)
表2:部门编号(主键),部门名称
那么:对于表1来说,用户编号是主键,部门编号是外键,因为部门编号是引用表2的部门编号字段。
希望搞清楚一些基本概念。
<hibernate-mapping>
<class name="comsopojoCity" table="CITY" schema="SOP">
<id name="id" type="javalangString">
<column name="ID" length="50" />
<generator class="native"></generator>
</id>
<property name="name" type="javalangString">
<column name="NAME" length="100" />
</property>
<property name="parent" type="javalangString">
<column name="PARENT" length="50" />
</property>
</class>
</hibernate-mapping>
用hibernate:
我的数据库中有一个表示city,主键是id设置<generator class="native"></generator>就可以自动增长,就不用自己管了
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记。
类似下面这段代码一样获取插入后的主键
User user = new User();
usersetUserName("chenzhou");
usersetPassword("xxxx");
usersetComment("测试插入数据返回主键功能");
Systemoutprintln("插入前主键为:"+usergetUserId());
userDaoinsertAndGetId(user);//插入 *** 作
Systemoutprintln("插入后主键为:"+usergetUserId());
以上就是关于java程序往mysql数据库中插入数据,主键ID是varchar型的,是数字全部的内容,包括:java程序往mysql数据库中插入数据,主键ID是varchar型的,是数字、java怎么判定数据库表字段是否是主键、可否通过Java编程判断某表的主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)