数据库中能不能在一个字段中插入多个值
本人现在遇到如下问题:设计了一个数据库,关于实验管理的,有三张表,第一张表是“实验基本信息表”,主键是“实验ID”,第二张表是“实验所需仪器表”,主键依然是“实验ID”,...
本人现在遇到如下问题:设计了一个数据库,关于实验管理的,有三张表,第一张表是“实验基本信息表”,主键是“实验ID”,第二张表是“实验所需仪器表”,主键依然是“实验ID”,有一个字段是“所需仪器ID”,这个字段中需要填写多个仪器ID值,第三张表是“仪器表”,主键是“仪器ID”,对应的是实验仪器的各个信息。现在遇到问题是:“实验所需仪器表”的“所需仪器ID”字段中能不能填写多个仪器ID值,如果能,该怎么插入,怎样通过读取该字段的值与“仪器表”产生关联,将所需仪器的具体信息显示出来
展开
2013-05-16
展开全部
实验基本信息表
主键 实验ID
实验所需仪器表
联合主键 实验ID 仪器ID
同时这两个键分别是实验基本信息表和实验仪器表的外键
这样就满足了。
还有种办法。
实验所需仪器表
当中仪器ID为nvarchar 类型,插主时,如果有多个仪器,以“,”隔开
会存ID1,ID2,ID3
查询实验所需仪器时可以如下语句进行
declare @sql nvarchar(max)
declare @sql2 nvarchar(max)
set @sql2 = select 仪器ID from 实验所需仪器表 where 实验ID=‘XXX’
set @sql = 'select * from 仪器表 where 仪器ID in ("+·@sql2+")'
exec @sql
主键 实验ID
实验所需仪器表
联合主键 实验ID 仪器ID
同时这两个键分别是实验基本信息表和实验仪器表的外键
这样就满足了。
还有种办法。
实验所需仪器表
当中仪器ID为nvarchar 类型,插主时,如果有多个仪器,以“,”隔开
会存ID1,ID2,ID3
查询实验所需仪器时可以如下语句进行
declare @sql nvarchar(max)
declare @sql2 nvarchar(max)
set @sql2 = select 仪器ID from 实验所需仪器表 where 实验ID=‘XXX’
set @sql = 'select * from 仪器表 where 仪器ID in ("+·@sql2+")'
exec @sql
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是可以的 所需仪器应该是多条记录吧 那么在每条记录中加一个 id 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以啊 一个实验可能需要多个仪器 所以 实验id对应多个仪器id是可以的 然后再和仪器表关联就可以了哦 没你想象中的那么难
追问
怎样操作,就是说在“所需仪器ID”字段中怎样写多个值,假如说“仪器ID”是int类型,那么“所需仪器ID”的数据类型应该是什么,有没有什么格式限制
追答
最好都是整型的 对应的话 就是多条对应一条啊 比如 实验id是1 仪器id是2,3,4
1 2
1 3
1 4
这样明白吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询