使用复合主键,还是增加一个唯一标识的单列主键? 一对多关系表把外键与另一个字段作为复合主键,多对多关系表则把两个外键作为复合主键,我一直是这样做。但最近看到一些人主张不要用复合主键,而是增加一个唯一标识的单列主键,认为能够提高效率。但我认为,复合主键能够保证唯一性,用新增唯一标识键可能会产生重复数据,或者说避免重复数据完全依靠程序来保证。大家怎么看这个问题?应该如何抉择? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用唯一主键吧,很简单,hibernate的复合主键一般映射为某个对象,而且还需要重写toString和equal的方法,这比起用唯一主键使用和维护上都麻烦很多 比如表user表需要col1和col2字段联合唯一理论上来讲要建立联合主键但也可以采用另外建立一个主键,而给字段col1和col2建立联合唯一约束如create table users( id varchar(50) primary key, col1 varchar(50), col2 varchar(50), unique(col1,col2) ); mysql如何导出数据库 struts2 java习题 大神们求解啊 怎样才能让jsp的出错信息显示到页面上,非常急,谢谢!! 大家好我是菜鸟 我想请问一下 java中的类指的 什么意思 请高手们来讨论java存在缓冲溢出漏洞么? 怎么样才能成为牛人啊?欢迎大家来讨论!!更欢迎高手指点。 有工作经验者进来谈谈,指点小弟一下.高分相送! 从jsp中调用Applet,出现java.lang.reflect.InvocationTargetException异常 使用cxf做WebService的问题 j2ee开发之--迷惘 这个异常怎么处理
理论上来讲要建立联合主键
但也可以采用另外建立一个主键,而给字段col1和col2建立联合唯一约束
如create table users(
id varchar(50) primary key,
col1 varchar(50),
col2 varchar(50),
unique(col1,col2)
);