我有两张表artist
和arts
。 artistId
是artist
表中的主键,它是arts
表中的外键。我正在使用存储过程来插入数据。首先登录艺术家,然后显示艺术信息页面,其中艺术家插入艺术信息。我想在插入艺术信息时将艺术家ID插入艺术表中。
我试过这个:
存储过程:
if exists(select artistId from artist)
insert into arts(name, description, artistId)
values(@name, @description, @artistId)
asp.net代码:
cmd.Parameters.AddWithValue("@name",txtname.Text);
cmd.Parameters.AddWithValue("@category",ddlcategory.SelectedValue);
它不起作用。
我是存储过程的新手。请帮我获取外键值。或者还有其他方法吗?
答案 0 :(得分:0)
执行此操作时:
if exists(select artistId from artist)
insert into arts(name, description, artistId)
values(@name, @description, @artistId)
您是否应该检查谁登录?类似的东西:
if exists(select 1 from artist where artistId = @artistId)
insert into arts(name, description, artistId)
values(@name, @description, @artistId)
在为他们插入艺术品之前,你不是想看看它们是否存在吗?这是问题吗?但就像上面的评论所说的那样,如果没有更多的信息,就很难猜到这个问题。