精华内容
下载资源
问答
  • 如何SQL删除有外键表的数据

    千次阅读 2019-12-03 18:22:09
    删除有外键的表的数据时,SQL会报错 解决办法:先将修改主键设置,再删除数据,最后复位主键设置。 修改主键命令: set foreign_key_checks=0; 再修改回原来的设置。 查看表主键的命令。 ...

    当删除有外键的表的数据时,SQL会报错

    解决办法:先将修改主键设置,再删除数据,最后复位主键设置。

    修改主键命令:

    set foreign_key_checks=0;

    再修改回原来的设置。

    查看表主键的命令。

    展开全文
  • SQL批量删除表时,如果表有外键,就不能直接删除,下面将为您介绍SQL批量删除含有外键的表的方法,供您参考,希望能够帮助到您。 写法一: set xact_abort on begin tran DECLARE @SQL VARCHAR(99) DECLARE...

    SQL批量删除表时,如果表有外键,就不能直接删除,下面将为您介绍SQL批量删除含有外键的表的方法,供您参考,希望能够帮助到您。

    写法一:

    set xact_abort on
    begin tran
    DECLARE @SQL VARCHAR(99)
    DECLARE CUR_FK CURSOR LOCAL FOR
    SELECT 'alter table '+ OBJECT_NAME(FKEYID) + ' drop constraint ' + OBJECT_NAME(CONSTID) FROM SYSREFERENCES
    --删除所有外键
    OPEN CUR_FK
    FETCH CUR_FK INTO @SQL
    WHILE @@FETCH_STATUS =0
     BEGIN
      EXEC(@SQL)
      FETCH CUR_FK INTO @SQL
     END
    CLOSE CUR_FK
    DEALLOCATE CUR_FK
    -- 删除所有表 
    DECLARE CUR_TAB CURSOR LOCAL FOR
    SELECT 'DROP TABLE '+ NAME FROM SYSOBJECTS WHERE XTYPE='U' -- AND NAME LIKE 'xx%'
    OPEN CUR_TAB
    FETCH CUR_TAB INTO @SQL
    WHILE @@FETCH_STATUS =0
     BEGIN
      EXEC(@SQL)
      FETCH CUR_TAB INTO @SQL
     END
    CLOSE CUR_TAB 
    DEALLOCATE CUR_TAB

    commit tran

    写法二

    DECLARE @SQL VARCHAR(99),@TBL VARCHAR(30),@FK VARCHAR(30)
    DECLARE CUR_FK CURSOR LOCAL FOR
    SELECT OBJECT_NAME(CONSTID),OBJECT_NAME(FKEYID) FROM SYSREFERENCES
    --删除所有外键
    OPEN CUR_FK
    FETCH CUR_FK INTO @FK,@TBL
    WHILE @@FETCH_STATUS =0
    BEGIN
    SELECT @SQL='ALTER TABLE '+@TBL+' DROP CONSTRAINT '+@FK
    EXEC(@SQL)
    FETCH CUR_FK INTO @FK,@TBL
    END
    CLOSE CUR_FK
    DECLARE CUR_FKS CURSOR LOCAL FOR
    SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U'
    OPEN CUR_FKS
    FETCH CUR_FKS INTO @TBL
    WHILE @@FETCH_STATUS =0
    BEGIN
    SELECT @SQL='DROP TABLE ['+@TBL+']'
    EXEC(@SQL)
    FETCH CUR_FKS INTO @TBL
    END
    CLOSE CUR_FKS


    展开全文
  • 都将其表的外键删除在进行删除或修改 E.G : ALTER TABLE DROP FOREIGN KEY ;//先删除外键 DROP TABLE ;//删除表 OR ALTER TABLE ENGIER = ; SHOW ENGIER;//你可以用此查找你数据库所拥有引擎

    都将其表的外键删除在进行删除或修改

    E.G : ALTER TABLE <表名> DROP FOREIGN KEY <键名>;//先删除外键

    DROP TABLE <表名>;//删除表

    OR

    ALTER TABLE <表名> ENGIER = <引擎>;

    SHOW ENGIER;//你可以用此查找你的数据库所拥有的引擎


    展开全文
  • 删除有外键关联的表sql语句

    千次阅读 2012-03-28 14:04:49
    drop table tableName cascade constraints; 备注:强行删除该表后,外键约束的表会取消该外键约束。

    drop table tableName cascade constraints;

    备注:强行删除该表后,有该外键约束的表会取消该外键约束。

    展开全文
  • 使用MSSSQL 创建 carete table PartInfo ( tid int primary key identity(1,1), PartName varchar(40), parentID int FOREIGN KEY REFERENCES PartInfo(tid) ) 如何清空这个让tid重新由1开始累加
  • 1首先删除所有外检约束 --删除所有外键约束 DECLARE c1 cursor forselect 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; 'from sysobjectswhere xtype = 'F'open c1declare @c1 ...
  • 现在一个库,很多张表想要删除一张表的记录时候,由于外键关联太多,所以,没法删除相应记录,谁能帮忙写个存储过程,就是先删除所有表的主,外键,然后进行删除表记录,然后再恢复之前所有外键. 一眼看上去,...
  • SQL 主键与外键的关系

    千次阅读 2018-04-25 10:15:27
    转载:点击打开链接SQL的主键和外键的作用:外键取值规则:空值或参照的主键值。(1)插入非空值时,如果主键中没有这个值,则不能插入。(2)更新时,不能改为主键中没有的值。(3)删除主键记录时,你可以在建外键...
  • SQL的外键约束

    2020-12-22 15:38:20
    外键约束 如两个 学生 id 主键约束 名字 性别 成绩 id 学生id 成绩 给成绩表的学生id加上外键约束 create table 成绩( ...如果成绩对应学生表的数据,就不能删除学生数据 ...
  • 在mySql操作中,java进行多表插入时,注意有外键的表,必须先让外键这个表先插入数据,含有外键的这个表后插入,不然报外键错误,fk_0002...也就是表A表B中,先将A表中的数据插入,再插入B表数据,才能成功.....虽然之前学过,...
  • 问题:”两张,其中A是主B是外键关联。将子B数据清空之后,再去清空主A。出现如下报错: 解决办法: 1)删除外键 alter table Table_B drop constraint FK_Table_B_Table_A; 2)清空主...
  • SQL主键&外键

    2014-08-12 19:13:00
    SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键中没有这个值,则不能插入。 (2)更新时,不能改为主键中没有的值。 (3)删除主键记录时,你可以在建外键时选定...
  • SQL编程:外键约束

    2020-11-29 20:50:20
    对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表,外键所在的表就是从表(子表)。 外键约束 foreign key约束用于预防破坏表之间连接的行为,也能防止非法数据插入外键列,因为它必须是它指向的...
  • Sqlserver 主外键约束

    千次阅读 2019-11-01 10:32:52
    外键约束 目的 我感觉最有用还是 级联删除 主键删除了 子键所有数据都被删除 设置 俩个 一个TJ 一个TS TS 为主 里面存人物信息 TJ存分数信息 主键设置 不在阐述 在我上面博客里 右击子表的...
  • SQL 主键和外键约束

    2015-04-30 11:38:11
    SQL的主键和外键的作用:   外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键中没有这个值,则不能插入。 (2)更新时,不能改为主键中没有的值。 (3)删除主键记录时,你可以在建外键时选定...
  • SQL触发器和外键连用

    2020-06-09 20:18:19
    起因:为防止数据冗余,我建立了两个,一个用户user(里面只存放了id(主键)、用户名、密码)和用户信息usr_Info(手机号...第二步:也是我产生问题,当主表删除数据时,外键变化,但是当主插入数据
  • 1、建库 if exists(select * from sysobjects where name='temp') drop database temp go create database temp ...--主 use temp if exists(select * from sysobjects where name='UserInfo')
  • 当我们在删除一张有外键约束的表时,直接采用drop table A表,会报以下错误: 无法删除对象 'A表',因为该对象正由一个 FOREIGN KEY 约束引用。错误原因:A表被其他表的外键引用了解决方法: 1.找出本表的外键约束...
  • 如何在SQL Server中建立主...外键也可防止删除有外键关系记录,一定程度上保护了数据安全性。今天就和朋友们说说怎么建立外键吧 ^_^ 工具/原料 SQL Server 2008 或者 SQ
  • SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键中没有这个值,则不能插入。 (2)更新时,不能改为主键中没有的值。 (3)删除主键记录时,你可以在建外键时选定外键...
  • 时候想清空数据库中数据,但是要保留结构,就需要用truncate或delete语句去删除各个数据。 执行删除语句时候,经常会出现以下错误: --无法截断 'XXX',因为该正由 FOREIGN KEY 约束引用。 ...
  • SQL的主键和外键的作用 SQL的主键和外键约束   SQL的主键和外键的作用:  外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键中没有这个值,则不能插入。 (2)更新时,不能改为主键中...
  • sql 外键约束【关系绑定】

    千次阅读 2019-03-01 11:32:29
    外键必须是中的一个字段但不一定是该的主键,但要对应的必须是另一张的主键,外键的主要作用就是啊要保持数据的完整性,定义外键后不允许删除在另外一张中具有关联关系的行【一条数据】。 主(父):...
  • --先试删除外键,避免后面如删除异常 IF OBJECT_ID('FK_MainId') IS NOT NULL BEGIN alter table Sub_Table drop constraint FK_MainId END --删除再建 IF OBJECT_ID('Main_Table') IS NOT NULL BEGIN ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 609
精华内容 243
关键字:

sql删除有外键的表