mysql大表的更新和删除

 

分批次操作可以给主从复制同步时间

  1. 新建表
  2. 老表数据导入新表
  3. 老表建立触发器同步数据到新表
  4. 老表加排它锁
  5. 重命名

 上面可以使用工具实现 pt-online-schema-chage

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 中,可以通过添加外键约束来实现级联更新删除。具体来说,可以使用以下两种方式之一来实现: 1. ON DELETE 和 ON UPDATE 子句 在创建外键时,可以使用 ON DELETE 和 ON UPDATE 子句来指定在父表中的行被删除更新时应该执行的操作。以下是一些可用的选项: - CASCADE:当父表中的行被删除更新时,子表中的相关行也应该被删除更新。 - SET NULL:当父表中的行被删除更新时,子表中的相关行的外键列应该设置为 NULL。 - RESTRICT:当父表中的行被删除更新时,应该阻止对子表的操作。 - NO ACTION:与 RESTRICT 相同。 以下是一个示例: ``` CREATE TABLE parent ( id INT PRIMARY KEY ); CREATE TABLE child ( id INT PRIMARY KEY, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ON UPDATE CASCADE ); ``` 在上面的示例中,如果 parent 表中的行被删除更新,那么 child 表中的相关行也会被删除更新。 2. SET NULL 和 SET DEFAULT 子句 在创建外键时,还可以使用 SET NULL 和 SET DEFAULT 子句来指定应该设置子表中的外键列的值。以下是一个示例: ``` CREATE TABLE parent ( id INT PRIMARY KEY ); CREATE TABLE child ( id INT PRIMARY KEY, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE SET NULL ON UPDATE SET DEFAULT ); ``` 在上面的示例中,如果 parent 表中的行被删除,那么 child 表中的相关行的 parent_id 列将被设置为 NULL。如果 parent 表中的行被更新,那么 child 表中的相关行的 parent_id 列将被设置为 parent 表中更新后的值的默认值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值