
总的来说,就是设置一个引导用的key,这个key的作用就是确定数据的唯一性,你在做查询的时候,select一个record,where条件如果是主键 = ‘’的话,满足条件的数据就最多只有一条。 所以这个field只是给database和程序使用,对于用户没有意义。
记得采纳啊
from user_cons_columns
where constraint_name =
(select constraint_name
from user_constraints
where table_name = 'BST_FAVORITE' and constraint_type ='P');
1、关系:
主码=主键=主关键字;
关键字=候选码;
候选关键字=候选码中除去主码的其他候选码;
2、理解:
主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码。
候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)。
主属性:候选码包含的属性(一个或多个属性)。
码:唯一标识实体的属性或属性组合称为码。
扩展资料:
常见的数据库字段类型如下:
1、Char固定长度字符串最大长度2000bytes。
2、VARCHAR2可变长度字符串最大长度4000bytes,索引最大长度749。
3、NCHAR基于字符集NCHAR固定长度字符串的最大长度2000bytes。
4、Nvarchar2基于字符集的可变长度字符串最大长度4000bytes。
5、DATE日期(日-月-年)DD-MM-YY(HH-MI-SS)经过严格测试,无千虫问题。
6、LONG超长字符串的最大长度为2G(231-1),足以存储大多数标题。
7、RAW原始定长二进制数据最大长度2000字节可存储多媒体图像声音等。
8、LONG RAW 长原始可变长度二进制数据最大长度2G,同上。
9、BLOB二进制数据最大长度4G CLOB字符数据最大长度4G。
10、NCLOB基于字符集4G的nclb最大字符数据长度。
11、BFILE数据库外存储的BFILE二进制数据的最大长度为4G。
两种方式:
方式1:假设Bean的属性xxx为主键,则在getXxx() 前添加以下注解
@Id
@SequenceGenerator(name="名称A", sequenceName="库中已存在的sequence名称",allocationSize=递增值)
@GeneratedValue(strategy=GenerationTypeSEQUENCE, generator="名称A")
方式2:假设Bean的属性xxx为主键,则在getXxx() 前添加以下注解
@Id
@TableGenerator(name="名称A",allocationSize=递增值)//若不指定递增值,则生成的主键值不一定连续
@GeneratedValue(strategy=GenerationTypeTABLE, generator="名称A")
如果使用assign,必须给对象的id赋值,如果等于0,那么id等于mysql数据库维护的最大id+1,大于0时,id才是你设置特定id值。
所以使用assign同时想使用特定id 就不要使用0来赋值了。
以上就是关于在数据库中设置的“主键”有什么依据吗全部的内容,包括:在数据库中设置的“主键”有什么依据吗、怎么看oracle数据库表的主键的生成策略、数据库中主键、主码、主属性、关键字、候选关键字、码的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)