以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问一下,我两个表都是在外部sqlserver里连接进来的,之后以“凭证Id”这一列为关联列,其中“财务支piao”这个表相当于一个总表,在“凭证id”下有许多行的数据在表“费用报销单”中,我的本意是 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113185) |
-- 作者:lzw001 -- 发布时间:2018/1/10 17:48:00 -- 请问一下,我两个表都是在外部sqlserver里连接进来的,之后以“凭证Id”这一列为关联列,其中“财务支piao”这个表相当于一个总表,在“凭证id”下有许多行的数据在表“费用报销单”中,我的本意是 ![]() ![]() 点击“财务支票”这个表的某一行,能在窗口中列出对应的在表”费用报销单”凭证Id列的所有行,那么问题来了:由于“凭证Id”这一列我在sqlserver数据库中设为了主键,所以表“财务支票”在表”费用报销单”只能对应一行,因为只有“凭证id“列一相同就会报错,我要的是可以对应多行的,就跟”基本功能演示“这个表效果一样,这个有其他方法解决吗,求解 |
-- 作者:有点甜 -- 发布时间:2018/1/10 18:30:00 -- 重复的列,不能设置成主键。
你两个表示是什么关系?多对多还是多对一? |
-- 作者:lzw001 -- 发布时间:2018/1/10 22:47:00 -- 一对多 |
-- 作者:lzw001 -- 发布时间:2018/1/10 22:53:00 -- 比如说,“财务支票”这个表中的日期可以在“费用报销单”有多个对应的行 |
-- 作者:有点甜 -- 发布时间:2018/1/10 23:08:00 -- 以下是引用lzw001在2018/1/10 22:53:00的发言:
比如说,“财务支票”这个表中的日期可以在“费用报销单”有多个对应的行
那父表就是一行;子表多行。你子表要加一列【凭证id】,用来记录父表的id号,不能是主键。 |
-- 作者:lzw001 -- 发布时间:2018/1/11 8:58:00 -- 好,这个sqlserver里表一旦创建了,感觉就不能再改主键了,这个还有其他方法吗 |
-- 作者:有点甜 -- 发布时间:2018/1/11 9:43:00 -- 以下是引用lzw001在2018/1/11 8:58:00的发言:
好,这个sqlserver里表一旦创建了,感觉就不能再改主键了,这个还有其他方法吗
可以改的,提示什么错误?
试试
https://www.cnblogs.com/0351jiazhuang/p/4534695.html
https://www.cnblogs.com/similar/p/5477776.html
|
-- 作者:lzw001 -- 发布时间:2018/1/11 9:47:00 -- 好,可以了,谢谢 |