美文网首页
mysql外键操作

mysql外键操作

作者: 好一个坏小孩 | 来源:发表于2019-04-18 20:19 被阅读0次

    批量生成删除外键的语句:
    SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;')
    FROM information_schema.TABLE_CONSTRAINTS c
    WHERE c.TABLE_SCHEMA='schemaName' and table_name ='tableName' AND c.CONSTRAINT_TYPE='FOREIGN KEY';

    查询所有的外键约束
    SELECT * FROM information_schema.TABLE_CONSTRAINTS where table_schema='ltms' and CONSTRAINT_type= 'FOREIGN KEY';

    临时关闭外键约束
    -- 禁用外键约束
    SET FOREIGN_KEY_CHECKS = 0
    -- 启用外键约束
    SET FOREIGN_KEY_CHECKS = 1;
    由于FOREIGN_KEY_CHECKS是基于session的,当关闭了session重新建立连接,这个变量就会恢复默认值,也就是开启外键约束,当然我们也可以全局的FOREIGN_KEY_CHECKS变量。

    SET GLOBAL FOREIGN_KEY_CHECKS = 0;
    或者:
    SET @@GLOBAL.FOREIGN_KEY_CHECKS = 0;

    修改完成后,我们可以查看修改后的结果
    SELECT @@FOREIGN_KEY_CHECKS;

    相关文章

      网友评论

          本文标题:mysql外键操作

          本文链接:https://www.haomeiwen.com/subject/ixqqvqtx.html