在数据库(sqlserver2005)中有两张表,其中一张表中有外键,我要向另一张表中插入数据,怎么弄呀

如题所述

假设A表(插入), B表(有外键应该是指向A表的主键),可先插入主表,再插入副表
insert into 表A (主键字段,字段2...) values (值列表)
insert into 表B (外键字段,字段2...)values(@@IDENTITY,值2...)
----------------------------------------------------------------------------------------
这样两个语句一块执行就OK了(@@identity函数:是获取当前最后一次插入的主键ID)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-10
1.主表先插入数据,然后次表也就外键的表插入数据,
2.或先禁用外键约束
ALTER TABLE 表名
NOCHECK CONSTRAINT
外键约束名
插入数据
在启用约束
ALTER TABLE 表名
CHECK CONSTRAINT
外键约束名本回答被网友采纳
第2个回答  2011-05-20
首先要保证外键里的数据在主表中有值,就是说你如果要在外键表中插入值,就必须确保主键表中的那个外键字段中有那个值。举个例子:假设tb_bookCatalog表(图书类别表)是主表,主键是bookCatalogID,外键是bookID,tb_book(图书表)表是外键表,此表的主键是bookID(就是tb_bookCatalog表的外键)。那么只有tb_bookCatalog表(图书类别表)的bookID里有数据了,tb_book(图书表)表如果的主键的数据就只能是tb_bookCatalog表(图书类别表)的bookID里的那些数据。如果不是,就会包主外键错误。
第3个回答  2011-05-23
直接插入就行了,遇到外键不能插入时,可以暂时不插入外键,等到那张表也填好的时候在补充这张表
第4个回答  2011-05-18
直接插入就可以。如果有外键值,若插入外键错误会提示出错,否则外键插入null值,正常插入操作即可

在数据库(sqlserver2005)中有两张表,其中一张表中有外键,我要向另一...
这样两个语句一块执行就OK了(@@identity函数:是获取当前最后一次插入的主键ID)

sql 添加外键语句
为数据库表添加外键方法(以SqlSever2005数据库为例):1、新建两张表,一张为主表,一张为副表。主表里的外键就是连接到副表的主键。2、首先在主表中添加一个外键字段,如下:3、在主表上右击,选择关系,如下:4、点击“添加”。5、再点击上图中标出的位置,如下:6、图中标出的“主键表”...

SQL Server中如何给两个表建立主外键约束
首先建立两张表:主表-MainTable和外键表-ForeignTable,主表的主键为ID,外键表中的字段TestID为外键,参照主表的ID。在外键表ForeignTable的设计视图中选中字段”TestID”,右键选择”关系”选项。在打开的外键关系窗体中点击“添加”按钮添加一个主外键约束关系FK_ForeignTable_ForeignTable。在外键关系...

sql server2005用SQL语句修改有主外键关系的字段
楼主这种, 修改 主表数据, 同步修改 外键关联表数据的情况。可以通过在创建外键的时候, 设置 UPDATE CASCADE 来进行处理。下面是一个例子 -- 创建测试主表. ID 是主键.CREATE TABLE test_main ( id INT NOT NULL, value VARCHAR(10), PRIMARY KEY(id) );-- 创建测试...

怎么在SQL server2005中为表添加外码限制?
外码?如果你说的是外键就应该这样写SQL语句 alter table 表名1 add constraint fk_表名1_表名2 foreign key (列名) references 表名2(列名)可以可视化操作,用SQL Server Management Studio在表右键-设计,再列名右键-关系 里面有设置

sqlserver中,外键必须对应别的表的主键吗?
在SQL Server中,外键并非必须对应其他表的主键。此问题常见于数据设计时,但实则并非严格规定。假设存在两张表:dc_standard与dc_soil。dc_standard表中包含id字段,但此字段非主键。dc_soil表中设有dc_standard_id字段,意图关联至dc_standard表的id字段。解决此问题的策略是,将dc_standard表中的id...

SQL Server中建立外键的方法
1、首先我们打开数据库表,找到要建立外键的表。并要确保要建立外键关系的列与主键表中的数据类型完全相同。2、然后我们在要建立外键关系的表中,右击关系,在外键关系对话框中,点击左下角的添加,接着点击【表和列规范】项的右侧的小按钮,在表和列对话框中,在主键表下方选择外键列所在的表和该...

SQL Server中 两个不同的数据库中的两张表如何关联?
1、首先就是创建几个没有任何关系的表,但是注意,你在将要作为外键表的表上必须使用与将要作为主键表的数据类型相同。2、将能唯一标识的那一行设置为主键,其他表类似。3、接下来添加关系,如下图。4、拖动需要添加的关系,直接看图。5、关联完成,如图。

...如何向sql server 2008两张表同时插入数据,一张表的主键是另外一张...
两种方式,根据不同的情况来处理:1、直接写两条SQL语句,各自针对不同的表 2、在主要上创建一个触发器,当向主表添加数据时,自动向另外一张表添加值

sql server 2005 中怎么建立表之间的联系
使用外键就可以了 给你个例子 新建字段名 (类型和长度)foreign key(新建字段名)references 被使用外键的表名(被使用外键的字段名)给你一个参考:(是我自己建的一个简单的数据库)--建库 create database mydb use mydb --建表 create table card (cno varchar(20)primary key,[name]varchar(...

相似回答