快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

mysql 级联删除

请联系QQ:1793040 索取软件

创建表1

 mysql  \ gt;  创建  TABLE   C(

-\ gt;

-\ gt; id TINYINT KEY auto_increment,

-\ gt; name VARCHAR 20 ),

-\ gt; age INT

-\ gt; is_marriged布尔- 显示创建表ClassCharger:tinyint(1)

-\ gt;

-\ gt; );

添加表1数据

 mysql  \ gt;  插入  INTO  C(名称,年龄,is_marriged)("冰冰", 12  0  ),

-\ gt; ("丹丹", 14 0 ),

-\ gt; ("歪歪", 22 0 ),

-\ gt; ("姗姗", 20 0 ),

-\ gt; ("小雨", 21 0 );

创建表2。并将子键与主键相关联,并添加级联删除

 mysql  \ gt;  创建  TABLE   S3(

-\ gt; id INT KEY auto_increment,

-\ gt; name VARCHAR 20 ),

-\ gt; charger_id TIINTINT

-\ gt; FOREIGN KEY (charger_id)参考 C(id) ON DELETE 级联

-\ gt; );

添加表2数据

 mysql  \ gt;  插入  INTO  S3(名称,charger_id)(" alvi1", 2  ),

-\ gt; (" alvi2", 4 ),

-\ gt; (" alvi3", 5 ),

-\ gt; (" alvi4", 3 ),

-\ gt; (" alvi5", 5 ),

-\ gt; (" alvi6", 3 ),

-\ gt; (" alvi7", 2 );

未删除前数据

 mysql  \ gt;   SELECT   *  来自  S3;

+ - -+-------+------------+

| id | name | charger_id |

+ - -+------+------------+

| 1 | alvi1 | 2 |

| 2 | alvi2 | 4 |

| 3 | alvi3 | 5 |

| 4 | alvi4 | 3 |

| 5 | alvi5 | 5 |

| 6 | alvi6 | 3 |

| 7 | alvi7 | 2 |

+ - -+------+------------+

 mysql  \ gt;  选择  *  来自  C;

+ - -+------+------+-------------+

| id | name | age | is_marriged |

+ - -+-----+------+-------------+

| 1 | Bingbing | 12 | 0

| 2 | Dandan | 14 | 0 |

| 3 | 弯曲的 | 22 | 0 |

| 4 | 珊珊 | 20 | 0 |

| 5 | Xiaoyu | 21 | 0

+ - -+-----+------+-------------+

输入删除语句

 mysql  \ gt;  删除 来自 C 其中 id  =   4 ; 

删除后的表格数据

 mysql  \ gt;  选择  *  来自  s3;

+ - -+-------+------------+

| id | name | charger_id |

+ - -+------+------------+

| 1 | alvi1 | 2 |

| 3 | alvi3 | 5 |

| 4 | alvi4 | 3 |

| 5 | alvi5 | 5 |

| 6 | alvi6 | 3 |

| 7 | alvi7 | 2 |

+ - -+------+------------+

6 in set 0.00 秒)

 mysql  \ gt;  选择  *  来自  C;

+ - -+------+------+-------------+

| id | name | age | is_marriged |

+ - -+-----+------+-------------+

| 1 | Bingbing | 12 | 0

| 2 | Dandan | 14 | 0 |

| 3 | 弯曲的 | 22 | 0 |

| 5 | Xiaoyu | 21 | 0

+ - -+-----+------+-------------+

------设置空方法当更新/删除父表上的记录时,将子表上匹配记录的列设置为null

-应注意,子表的外键列不能为空

\首先删除s3中的外键

 mysql  \ gt;  更改  TABLE  s3 删除  FOREIGN   KEY  s3_ibfk_1; 

添加设置为null的方法

 mysql  \ gt;  更改  s3 添加 约束 s3_fk_cc 外部  (charger_id)

-\ gt; 引用 c(id)删除 设置 null ;

查看表记录

 mysql  \ gt;  选择  *  来自  s3;

+ - -+-------+------------+

| id | name | charger_id |

+ - -+------+------------+

| 1 | alvi1 | 2 |

| 3 | alvi3 | 5 |

| 4 | alvi4 | 3 |

| 5 | alvi5 | 5 |

| 6 | alvi6 | 3 |

| 7 | alvi7 | 2 |

+ - -+------+------------+

 mysql  \ gt;  选择  *  来自  C;

+ - -+------+------+-------------+

| id | name | age | is_marriged |

+ - -+-----+------+-------------+

| 1 | Bingbing | 12 | 0

| 2 | Dandan | 14 | 0 |

| 3 | 弯曲的 | 22 | 0 |

| 5 | Xiaoyu | 21 | 0

+ - -+-----+------+-------------+

删除c表jilu

 mysql  \ gt;  删除  C 其中 id  =   3 ; 

s3表记录变为空

 mysql  \ gt;  选择  *  来自  s3;

+ - -+-------+------------+

| id | name | charger_id |

+ - -+------+------------+

| 1 | alvi1 | 2 |

| 3 | alvi3 | 5 |

| 4 | alvi4 | NULL |

| 5 | alvi5 | 5 |

| 6 | alvi6 | NULL |

| 7 | alvi7 | 2 |

+ - -+------+------------+

------限制模式:拒绝删除和更新父表(了解)

------没有动作方式与mysql中的Restrict相同,如果子表中有匹配的记录,则不允许与父表的候选键相对应

-执行更新/删除操作(了解)

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040