数据库初始值问题
时间:2011-12-20
来源:互联网
INSERT INTO mes_user (SYSID, VERSION, USERNAME, PASSWORD, NICKNAME, ACTIVATIONDATE, EXPIRATIONDATE) VALUES
('c4037b484bad49d5b5a800e8b3175cb8', 1, 'admin', '19a2854144b63a8f7617a6f225019b12', '', to_timestamp('2009-01-01','yyyy-mm-dd'), to_timestamp('2020-01-01','yyyy-mm-dd'));
/* Insert default user group */
INSERT INTO mes_usergroup (SYSID, VERSION, NAME, DESCRIPTION) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', 56, 'admin', 'admin');
INSERT INTO lk_user_usergroup (TOID, FROMID) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', 'c4037b484bad49d5b5a800e8b3175cb8');
INSERT INTO lk_usergroup_useraccess (FROMID, TOID) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', '0caf6aaac4da4b7980a786b21a4f5251');
这几个关联表中,红色的初始值是一样的,这样的可以吗?是不是不对啊?执行可以通过,但是更改不了!请大家指点!
('c4037b484bad49d5b5a800e8b3175cb8', 1, 'admin', '19a2854144b63a8f7617a6f225019b12', '', to_timestamp('2009-01-01','yyyy-mm-dd'), to_timestamp('2020-01-01','yyyy-mm-dd'));
/* Insert default user group */
INSERT INTO mes_usergroup (SYSID, VERSION, NAME, DESCRIPTION) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', 56, 'admin', 'admin');
INSERT INTO lk_user_usergroup (TOID, FROMID) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', 'c4037b484bad49d5b5a800e8b3175cb8');
INSERT INTO lk_usergroup_useraccess (FROMID, TOID) VALUES
('c4037caa4bad49d5b5a800e8b3175cb8', '0caf6aaac4da4b7980a786b21a4f5251');
这几个关联表中,红色的初始值是一样的,这样的可以吗?是不是不对啊?执行可以通过,但是更改不了!请大家指点!
作者: Ricky_lu 发布时间: 2011-12-20
楼主你好,因为不清楚你系统中具体的业务联系和功能,以及表结构,所以不敢妄下断言,但是这种情况是可能的。
分以下几种情况解释:
1,如果按习惯第一列都是主键,自增,当每个表对应不同的sequence和触发器,可以会出现相同的情况,若是公用一个sequence,那是不可能的。
2,如果不是sequence生成而是由前台代码或过程赋值,那么也是可能的,代码中设置的值可以是相同的。
3,如果你的第一列并非主键而是其他的列,或者是联合主键,看你的表名是跟用户和用户组相关的,假设sysid若是代表用户的id,那么这些表存储的是同一个用户的数据,它们之间进行业务流转也是可以的。
总结:表之间的主键值相不相同并不影响主外键之间建立联系,说白了,一个从1开始计数的用户表和从1开始计数的用户组表照样能建立联系啊,同一个用户当然也可以存在不同的表中啊,关键是弄清楚这些相同初始值所在的列都是什么含义,以及是否正确的实现了业务逻辑。
我猜测属于第3种的可能性为最高。
分以下几种情况解释:
1,如果按习惯第一列都是主键,自增,当每个表对应不同的sequence和触发器,可以会出现相同的情况,若是公用一个sequence,那是不可能的。
2,如果不是sequence生成而是由前台代码或过程赋值,那么也是可能的,代码中设置的值可以是相同的。
3,如果你的第一列并非主键而是其他的列,或者是联合主键,看你的表名是跟用户和用户组相关的,假设sysid若是代表用户的id,那么这些表存储的是同一个用户的数据,它们之间进行业务流转也是可以的。
总结:表之间的主键值相不相同并不影响主外键之间建立联系,说白了,一个从1开始计数的用户表和从1开始计数的用户组表照样能建立联系啊,同一个用户当然也可以存在不同的表中啊,关键是弄清楚这些相同初始值所在的列都是什么含义,以及是否正确的实现了业务逻辑。
我猜测属于第3种的可能性为最高。
作者: asthey 发布时间: 2011-12-20
哪里更改不了呢?请详细说明。
作者: LuiseRADL 发布时间: 2011-12-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28