想问问各位在设计数据库表的时候,一般是把什么字段设计成表的主键?
我想到的是
1、identity类型
2、guid
3、自己写生成函数,比如时间加上某些东西之类的。
4、用某数据列的唯一性
但是
1的缺点是在涉及到父子表的时候,用identity不好移植
2的缺点是开销大,存储空间和查询速度都有影响
3是需要自己写代码,而且万一写的不好还不能保证唯一性
4不能保证所有的表都有类似列其他的还好,我对父子表的主键一直没想好
如果我说的不对请拍砖
大家有什么其他的好方法,拿出来共享下~~
我想到的是
1、identity类型
2、guid
3、自己写生成函数,比如时间加上某些东西之类的。
4、用某数据列的唯一性
但是
1的缺点是在涉及到父子表的时候,用identity不好移植
2的缺点是开销大,存储空间和查询速度都有影响
3是需要自己写代码,而且万一写的不好还不能保证唯一性
4不能保证所有的表都有类似列其他的还好,我对父子表的主键一直没想好
如果我说的不对请拍砖
大家有什么其他的好方法,拿出来共享下~~
解决方案 »
- 从数据库中blob读出图片,如何显示到web页面上,高手请进
- 内容页与javascript的高难度问题
- 关于.net(C#)XML文件的读取问题...在线等,急~~
- 高分:谁有类似126、163邮箱的菜单呢?
- remoting如何用在web上?
- 请教同时安装VS2003和Vs2005???
- 菜鳥問題﹐送分了﹗﹗﹗
- 请教:一个关于filesystemobject的问题
- ?????
- mssql2000,setuser权限问题
- ASP.NET Panel后台设置的问题....。。。。。。。标题要长。。。。。。要引人注意。。。。。。。问题简单,送分,解决马上结贴...........
- JS如何调用后台带参数的函数
一般都是用的这个
2、guid
这个也可以
3、自己写生成函数,比如时间加上某些东西之类的。
这个的话你要确保你的这个程序生成的就是唯一的。
4、用某数据列的唯一性
这个没有使用过
XXX-090907000001,1,XXX-090907000001,2