精华内容
下载资源
问答
  • 能够写出删除外键约束SQL语句 1. 外键约束作用 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性 2. 对于已经存在的字段添加外键...

    外键SQL语句的编写

    学习目标

    • 能够写出删除外键约束的SQL语句

    1. 外键约束作用

    外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性

    2. 对于已经存在的字段添加外键约束

    -- 为cls_id字段添加外键约束
    alter table students add foreign key(cls_id) references classes(id);
    

    3. 在创建数据表时设置外键约束

    -- 创建学校表
    create table school(
        id int not null primary key auto_increment, 
        name varchar(10)
    );
    
    -- 创建老师表
    create table teacher(
        id int not null primary key auto_increment, 
        name varchar(10), 
        s_id int not null, 
        foreign key(s_id) references school(id)
    );
    

    4. 删除外键约束

    -- 需要先获取外键约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称
    show create table teacher;
    
    -- 获取名称之后就可以根据名称来删除外键约束
    alter table teacher drop foreign key 外键名;
    

    5. 小结

    • 添加外键约束: alter table 从表 add foreign key(外键字段) references 主表(主键字段);
    • 删除外键约束: alter table 表名 drop foreign key 外键名;
    展开全文
  • SQL外键约束

    2011-07-11 15:01:11
    SQL外键约束:NO ACTION,CASCADE,SET NULL,SET DEFAULT NO ACTION 指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。 CASCADE、SET NULL 和 SET ...
    SQL外键约束:NO ACTION,CASCADE,SET NULL,SET DEFAULT
    NO ACTION
    指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。
    CASCADE、SET NULL 和 SET DEFAULT
    允许通过删除或更新键值来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操作也将应用于删除或更新的那些行。不能为具有 timestamp 列的外键或主键指定 CASCADE。
    ON DELETE CASCADE
    指定如果试图删除某一行,而该行的键被其他表的现有行中的外键所引用,则也将删除所有包含那些外键的行。
    ON UPDATE CASCADE
    指定如果试图更新某一行中的键值,而该行的键值被其他表的现有行中的外键所引用,则组成外键的所有值也将更新到为该键指定的新值。 (如果 timestamp 列是外键或被引用键的一部分,则不能指定 CASCADE。 )
    ON DELETE SET NULL
    指定如果试图删除某一行,而该行的键被其他表的现有行中的外键所引用,则组成被引用行中的外键的所有值将被设置为 NULL。目标表的所有外键列必须可为空值,此约束才可执行。
    ON DELETE SET NULL
    指定如果试图更新某一行,而该行的键被其他表的现有行中的外键所引用,则组成被引用行中的外键的所有值将被设置为 NULL。目标表的所有外键列必须可为空值,此约束才可执行。
    ON UPDATE SET DEFAULT
    指 定如果试图删除某一行,而该行的键被其他表的现有行中的外键所引用,则组成被引用行中的外键的所有值将被设置为它们的默认值。目标表的所有外键列必须具 有默认值定义,此约束才可执行。如果某个列可为空值,并且未设置显式的默认值,则会使用 NULL 作为该列的隐式默认值。因 ON DELETE SET DEFAULT 而设置的任何非空值在主表中必须有对应的值,才能维护外键约束的有效性。
    ON UPDATE SET DEFAULT
    指 定如果试图更新某一行,而该行的键被其他表的现有行中的外键所引用,则组成被引用行中的外键的所有值将被设置为它们的默认值。目标表的所有外键列必须具 有默认值定义,此约束才可执行。如果某个列可为空值,并且未设置显式的默认值,则会使用 NULL 作为该列的隐式默认值。因 ON UPDATE SET DEFAULT 而设置的任何非空值在主表中必须有对应的值,才能维护外键约束的有效性。

    ORACLE官方解释:

    ON DELETE
    The ON DELETE clause indicates that when a DELETE is executed on a referenced row in the referenced table, one of the following actions will be executed upon the constrained column, as specified by action:

    NO ACTION(default)
    The NO ACTION clause produces an error if the reference is violated. This is the default if action is not specified.

    CASCADE
    The CASCADE keyword removes all rows which reference the deleted row. Exercise caution with this action.

    SET NULL
    The SET NULL clause assigns a NULL value to all referenced column values.

    引用:
    http://zhouyuepeng.blog.163.com/blog/static/6951594220081016112739123/
    http://dracull.blog.163.com/blog/static/1300284542009101904145619/?fromdm&fromSearch&isFromSearchEngine=yes
    展开全文
  • SQL 外键约束

    千次阅读 2013-12-22 16:03:10
    外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。 在sqlite中,针对 delete和update有以下约束: set null: 父值被删除...


    如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。

    在sqlite中,针对 delete和update有以下约束:

    set null: 父值被删除或者不存在了,则剩余的子值将改为 null

    set default:父值被删除或者不存在了,子值将被改为默认值

    cascade: 父值更新时,子值也将被更新,父值被删除时,所有子值 也将被删除;注意cascade的删除功能,可能带来意想不到的结果

    restrict:跟新或者删除父值时,都将被阻止

    no action:跟新或者删除父值时,不干涉操作,在整个语句的结尾报错


    PS:

    deferrable语句(deferrable语句控制约束语句是立即强制执行还是延迟到整个事务结束时执行)

    1.deferrable initially immediate(初始化立即执行)

    2.deferrable initially deferred(初始化延迟执行)


    来看下面的代码:

      SQL> create table t

        ( x int constraint  check_x check ( x > 0 )

      deferrable

      initially immediate,

        y int constraint  check_y check ( y > 0 )

      deferrable

      initially deferred

        )

        /

      Table created.

      SQL> insert into t values ( 1,1 );

      1 row created.

      SQL> commit;

      Commit complete.

      所以,当两个约束同时满足时才能正确无误地插入行。但是,如果我试图插入违反CHECK_X约束(初始化立即执行的约束)的行,则系统会立即检验约束,并得到下面的结果:

      SQL> insert into t values ( -1,1);

      insert into t values ( -1,1)

      *

      ERROR at line 1:

      ORA-02290: check constraint

      (OPS$TKYTE.CHECK_X) violated

      由于CHECK_X是可延迟但初始化为立即执行的约束,所以这一行立刻被拒绝了。而CHECK_Y则不同,它不仅是可延迟的,而且初始化为延迟执行,这就意味着直到我用COMMIT命令提交事务或将约束状态设置为立即执行时才检验约束。

      SQL> insert into t values ( 1,-1);

      1 row created.

      现在它是成功的(总之到目前为止是成功的)。我将约束检验延迟到了执行COMMIT的时候:

      SQL> commit;

      commit

      *

      ERROR at line 1:

      ORA-02091: transaction rolled back

      ORA-02290: check constraint

      (OPS$TKYTE.CHECK_Y) violated

      此时数据库将事务回滚,因为违反约束导致了COMMIT语句的失败。这些语句说明了初始化立即执行与初始化延迟执行约束之间的区别。initially(初始化)部分指定Oracle什么时候会进行默认的约束检验--是在语句结束时[immediate(立即执行)],还是在事务结束时[deferred(延迟执行)]。我还要说明deferred(可延迟)子句有什么用。我可以发出命令,让所有可延迟的约束变为延迟执行的。注意,你也可以对一个约束使用该命令;你不必让所有可延迟的约束都变为延迟执行的:

      SQL> set constraints all deferred;

      Constraint set.

      SQL> insert into t values ( -1,1);

      1 row created.

      由于将初始化立即执行的约束设置为延迟执行的模式,这个语句似乎执行成功;但是,当我用COMMIT语句提交事务时,看一下会发生什么:

      SQL> commit;

      commit

      *

      ERROR at line 1:

      ORA-02091: transaction rolled back

      ORA-02290: check constraint

      (OPS$TKYTE.CHECK_X) violated

      事务提交失败并回滚,因为在COMMIT语句之后对约束进行了检验。相反,我可以将初始化为延迟执行的约束变为"立即"执行的约束:

      SQL> set constraints all immediate;

      Constraint set.

      SQL> insert into t values ( 1,-1);

      insert into t values ( 1,-1)

      *

      ERROR at line 1:

      ORA-02290: check constraint

      (OPS$TKYTE.CHECK_Y) violated

      前面在我提交前能执行的语句现在立即出了问题。因为我手动修改了默认的约束模式。


    这里以MySQL为例,总结一下3种外键约束方式的区别和联系。 


         这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个用户组。 
         首先创建用户组表: 
    Sql代码 
    1. create table t_group (   
    2.     id int not null,   
    3.     name varchar(30),   
    4.     primary key (id)   
    5. );  
    create table t_group (id int not null,name varchar(30),primary key (id));


    并插入两条记录: 
    Sql代码 
    1. insert into t_group values (1, 'Group1');   
    2. insert into t_group values (2, 'Group2');  
    insert into t_group values (1, 'Group1');insert into t_group values (2, 'Group2');


    下面创建用户表,分别以不同的约束方式创建外键引用关系: 
    1、级联(cascade)方式 (级联意味着父值的变化会影响到子值)
    Sql代码 
    1. create table t_user (   
    2.     id int not null,   
    3.     name varchar(30),   
    4.     groupid int,   
    5.     primary key (id),   
    6.     foreign key (groupid) references t_group(id) on delete cascade on update cascade  
    7. );  
    create table t_user (id int not null,name varchar(30),groupid int,primary key (id),foreign key (groupid) references t_group(id) on delete cascade on update cascade);


    参照完整性测试 
    Sql代码 复制代码
    1. insert into t_user values (1, 'qianxin', 1); --可以插入   
    2. insert into t_user values (2, 'yiyu', 2);    --可以插入   
    3. insert into t_user values (3, 'dai', 3);    --错误,无法插入,用户组3不存在,与参照完整性约束不符  
    insert into t_user values (1, 'qianxin', 1); --可以插入insert into t_user values (2, 'yiyu', 2);    --可以插入insert into t_user values (3, 'dai', 3);    --错误,无法插入,用户组3不存在,与参照完整性约束不符


    约束方式测试 
    Sql代码 复制代码
    1. insert into t_user values (1, 'qianxin', 1);   
    2. insert into t_user values (2, 'yiyu', 2);   
    3. insert into t_user values (3, 'dai', 2);   
    4. delete from t_group where id=2;              --导致t_user中的2、3记录级联删除   
    5. update t_group set id=2 where id=1;          --导致t_user中的1记录的groupid级联修改为2  
    insert into t_user values (1, 'qianxin', 1);insert into t_user values (2, 'yiyu', 2);insert into t_user values (3, 'dai', 2);delete from t_group where id=2;              --导致t_user中的2、3记录级联删除update t_group set id=2 where id=1;          --导致t_user中的1记录的groupid级联修改为2


    2、置空(set null)方式 
    Sql代码 复制代码
    1. 置空方式   
    2. create table t_user (   
    3.     id int not null,   
    4.     name varchar(30),   
    5.     groupid int,   
    6.     primary key (id),   
    7.     foreign key (groupid) references t_group(id) on delete set null on update set null  
    8. );   
    9.   
    10. 参照完整性测试   
    11.   
    12. insert into t_user values (1, 'qianxin', 1); --可以插入   
    13. insert into t_user values (2, 'yiyu', 2);    --可以插入   
    14. insert into t_user values (3, 'dai', 3);     --错误,无法插入,用户组3不存在,与参照完整性约束不符   
    15.   
    16. 约束方式测试   
    17. insert into t_user values (1, 'qianxin', 1);   
    18. insert into t_user values (2, 'yiyu', 2);   
    19. insert into t_user values (3, 'dai', 2);   
    20. delete from t_group where id=2;              --导致t_user中的2、3记录的groupid被设置为NULL   
    21. update t_group set id=2 where id=1;          --导致t_user中的1记录的groupid被设置为NULL  
    置空方式create table t_user (id int not null,name varchar(30),groupid int,primary key (id),foreign key (groupid) references t_group(id) on delete set null on update set null);参照完整性测试insert into t_user values (1, 'qianxin', 1); --可以插入insert into t_user values (2, 'yiyu', 2);    --可以插入insert into t_user values (3, 'dai', 3);     --错误,无法插入,用户组3不存在,与参照完整性约束不符约束方式测试insert into t_user values (1, 'qianxin', 1);insert into t_user values (2, 'yiyu', 2);insert into t_user values (3, 'dai', 2);delete from t_group where id=2;              --导致t_user中的2、3记录的groupid被设置为NULLupdate t_group set id=2 where id=1;          --导致t_user中的1记录的groupid被设置为NULL



    3、禁止(no action / restrict)方式 
    Sql代码 复制代码
    1. 禁止方式   
    2. create table t_user (   
    3.     id int not null,   
    4.     name varchar(30),   
    5.     groupid int,   
    6.     primary key (id),   
    7.     foreign key (groupid) references t_group(id) on delete no action on update no action  
    8. );   
    9.   
    10. 参照完整性测试   
    11. insert into t_user values (1, 'qianxin', 1); --可以插入   
    12. insert into t_user values (2, 'yiyu', 2);    --可以插入   
    13. insert into t_user values (3, 'dai', 3);     --错误,无法插入,用户组3不存在,与参照完整性约束不符   
    14.   
    15. 约束方式测试   
    16. insert into t_user values (1, 'qianxin', 1);   
    17. insert into t_user values (2, 'yiyu', 2);   
    18. insert into t_user values (3, 'dai', 2);   
    19. delete from t_group where id=2;              --错误,从表中有相关引用,因此主表中无法删除   
    20. update t_group set id=2 where id=1;          --错误,从表中有相关引用,因此主表中无法修改  
    禁止方式create table t_user (id int not null,name varchar(30),groupid int,primary key (id),foreign key (groupid) references t_group(id) on delete no action on update no action);参照完整性测试insert into t_user values (1, 'qianxin', 1); --可以插入insert into t_user values (2, 'yiyu', 2);    --可以插入insert into t_user values (3, 'dai', 3);     --错误,无法插入,用户组3不存在,与参照完整性约束不符约束方式测试insert into t_user values (1, 'qianxin', 1);insert into t_user values (2, 'yiyu', 2);insert into t_user values (3, 'dai', 2);delete from t_group where id=2;              --错误,从表中有相关引用,因此主表中无法删除update t_group set id=2 where id=1;          --错误,从表中有相关引用,因此主表中无法修改
    展开全文
  • 20171012 SQL外键约束

    2017-10-12 13:49:58
    SQL FOREIGN KEY 约束 SQL Primary Key SQL Check SQL FOREIGN KEY 约束 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。 让我们通过一个例子来解释外键。请看下面两个表: ...

    SQL FOREIGN KEY 约束

    SQL FOREIGN KEY 约束

    一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

    让我们通过一个例子来解释外键。请看下面两个表:

    "Persons" 表:

    Id_P LastName FirstName Address City
    1 Adams John Oxford Street London
    2 Bush George Fifth Avenue New York
    3 Carter Thomas Changan Street Beijing

    "Orders" 表:

    Id_O OrderNo Id_P
    1 77895 3
    2 44678 3
    3 22456 1
    4 24562 1

    请注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

    "Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

    "Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

    FOREIGN KEY 约束用于预防破坏表之间连接的动作。

    FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

    SQL FOREIGN KEY Constraint on CREATE TABLE

    下面的 SQL 在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY:

    MySQL:

    CREATE TABLE Orders
    (
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    PRIMARY KEY (Id_O),
    FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
    )
    

    SQL Server / Oracle / MS Access:

    CREATE TABLE Orders
    (
    Id_O int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
    )
    

    如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    CREATE TABLE Orders
    (
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    PRIMARY KEY (Id_O),
    CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)
    REFERENCES Persons(Id_P)
    )
    

    SQL FOREIGN KEY Constraint on ALTER TABLE

    如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Orders
    ADD FOREIGN KEY (Id_P)
    REFERENCES Persons(Id_P)
    

    如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Orders
    ADD CONSTRAINT fk_PerOrders
    FOREIGN KEY (Id_P)
    REFERENCES Persons(Id_P)
    

    撤销 FOREIGN KEY 约束

    如需撤销 FOREIGN KEY 约束,请使用下面的 SQL:

    MySQL:

    ALTER TABLE Orders
    DROP FOREIGN KEY fk_PerOrders
    

    SQL Server / Oracle / MS Access:

    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders
    展开全文
  • MySQL创建外键约束语句

    千次阅读 2019-10-28 11:37:51
    create table teacher ( id int ...constraint fk_teacher 是给外键约束创建个名称 foreign key (tid) 是外键表student对应外键tid列 references teacher(id) 是主键表teacher对应的主键列id
  • sql外键约束

    千次阅读 2008-01-25 10:43:00
    sql server中建立外键约束有3中方式:1.enterprise manager中,tables,design table,设置table的properties, 可以建立constraint, reference key;2.enterprise manager中,diagrams, new diagrams,建立两个表的关系...
  • T-SQL外键约束

    2020-07-03 09:06:24
    消息 547,级别 16,状态 0,第 1 行 INSERT 语句与 FOREIGN KEY 约束"fk_id11"冲突。该冲突发生于数据库"test",表"dbo.test01", column 'id1'。 语句已终止。 如果在创建外键之前就已经在test02中有了不在test01...
  • sql外键约束简单说明

    2015-03-07 21:33:34
    上面这条语句说明:child表是依附prarent表存在的,如果想删除父类,会告诉你想消灭我,先过了我儿子那关(我只是想说明得删除所有与parent相关外键),才能删除parant) mysql> drop table parent; ERROR 1217 ...
  • sql server中解除与启用外键约束语句 创建外键: ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main; 暂时 停用 外键约束 ALTER TABLE test_sub NOCHECK CONSTRAINT ...
  • select 'alter table '+o.name+' drop constraint '+f.name AS sqlString from sys.foreign_keys f inner join sys.all_objects o ON (f.parent_object_id=o.object_id)
  • SQL server添加主外键约束 sql语句

    千次阅读 2014-11-02 19:43:08
    ---添加主键约束 alter table 表名 add constraint 约束名 primary key (主键) - --添加唯一约束 alter table 表名 add constraint 约束名 unique
  • NO ACTION 指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。 CASCADE、SET NULL 和 SET DEFAULT 允许通过删除或更新键值来影响指定具有外键关系的表...
  • SQL添加外键约束

    万次阅读 多人点赞 2019-03-14 11:05:42
    --1,sql语句创建表的同时添加外键约束 CREATE TABLE tb_UserAndRole --用户角色表 ( ID INT PRIMARY KEY IDENTITY(1,1), UserID INT NOT NULL,--用户ID RoleID INT NOT NULL,--角色ID foreign key(UserID) ...
  • SQL Server查询外键约束与删除外键约束: 'WC_User'是表名 exec sp_helpconstraint 'WC_User' select name  from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id ...
  • SQL Server 外键约束

    千次阅读 2014-04-09 22:40:33
    SQL Server 外键约束的例子 外键约束的测试表与测试数据 -- 创建测试主表. ID 是主键. CREATE TABLE test_main ( id INT, value VARCHAR(10), PRIMARY KEY(id)  );   --...
  • sql语句外键约束

    2015-12-30 16:49:50
    外键约束 CREATE table userinfo( userid int PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) not null, usertel VARCHAR(11) not null, userpwd VARCHAR(20) not null, usertouxiang VARCHAR(100) not ...
  • Sql 多重外键约束

    千次阅读 2014-10-14 23:40:13
    多重外键约束这个名称可能并不准确,它是多个外键约束情况的一个特例,它指的是外键表有存在两个及以上外键关联到同一个主键表,例如一个部门,有正副两个管理者 首先看看不含多重外键的多个外键约束的一般情况,...
  • 数据库中外键SQL语句的编写

    千次阅读 2021-01-16 22:05:54
    数据库中外键SQL语句的编写 1. 外键约束作用 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性 2. 对于已经存在的字段添加外键约束...
  • 外键SQL语句的编写

    2021-03-26 13:12:21
    1. 外键约束作用 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性。 2. 对于已经存在的字段添加外键约束 -- 为cls_id字段添加...
  • sql语句建表时设置外键约束

    千次阅读 2020-03-20 17:31:09
    建表时创建外键约束 --学生借阅图书表 create table borrow( sno number(8), bno number(5), primary key(bno,sno), --联合主键 foreign key (bno) references book(bno), --借阅表中的bno是book表中的主键 foreign ...
  • [b][size=large]设置外键约束SQL语句:[/size][/b] [size=medium]alter table 需要建立外键的表 add constraint 外键名字 foreign key(外键字段) references 外键表(被别的表引为外键的字段) 例子: 班级和...
  • 设置外键约束SQL语句: @著一

    万次阅读 2017-09-29 11:49:02
    设置外键约束SQL语句:  alter table 需要建立外键的表 add constraint 外键名字 foreign key(外键字段) references 外键表(被别的表引为外键的字段)  例子:  班级和学生是一对多的关系,将班级表...
  • NO ACTION 指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。 <br />CASCADE、SET NULL 和 SET DEFAULT 允许通过删除或更新键值来影响...
  • SQL语句添加外键约束

    千次阅读 2011-11-16 16:55:35
    ALTER TABLE [Enviroment].[dbo].[T_Bas_EnterpriseData_I] ALTER COLUMN [code_pollute] NVARCHAR(12) NOT NULL    ALTER TABLE [Enviroment].[dbo].[T_Bas_EnterpriseData_I] WITH CHECK ADD FOREIGN KEY(cod
  • SQL语句设置主外键约束

    万次阅读 2016-12-09 11:06:36
    alter table 外键表名 add constraint 约束名称 foreign key(外键字段)  references 主键表名(约束列名)  如表A中的Ids是主键,要约束表B中的Aid列,那么语句应该是: alter table B add constraint A...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,714
精华内容 25,485
关键字:

sql外键约束语句