如果一个表的某个字段是另一个表的外键,那么它们之间就存在外键约束关系,当你删除(或修改)这个表时,另一个表也会受到牵连,这时如果勾选“启用外键约束”,phpmyadmin就会自动帮你处理(比如说会自动把另一个表中有对应关系的记录删掉),如果没有勾选,则不会处理。
当然,前提条件是你设置了外键,如果表与表之间都没有外键约束关系,那么是否勾选“启用外键约束”都是没区别的。
使用 TRUNCATE TABLE 删除所有行,若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。
该语句总是比不带条件的 DELETE 语句要快,因为 DELETE 语句要记录对每行的删除 *** 作,而 TRUNCATE TABLE 语句只记录整个数据页的释放。TRUNCATE TABLE 语句立即释放由该表的数据和索引占用的所有空间。所有索引的分发页也将释放。
与 DELETE 语句相同,使用 TRUNCATE TABLE 清空的表的定义,同其索引和其它相关的对象一起仍保留在数据库中。
必须使用 DROP TABLE 语句才能除去表的定义。
你在建立外键的时候要指定更新的关联,这样删除user中的一笔记录,所有以user表的userid为外键的表的记录都会删除,修改user中userid的值,所有所有以user表的userid为外键的表的记录都会更新这个userid的值
比如mssql中:
alter
table
tbl_xxx
add
constraint
fk_xxx
foreign
key
(lodno)
references
tbl_aaa
(lono)
on
update
cascade
on
delete
cascade
注意on
update
cascade
on
delete
cascade
--查出外键
select name
from sysforeign_key_columns f join sysobjects o on fconstraint_object_id=oobject_id
where fparent_object_id=object_id('表名')
--删除外键
alter table 表名 drop constraint 外简名
以上就是关于phpmyadmin删除mysql数据表,下一页默认勾选启用外键约束,请问什么情况不启用外键约束执行呢全部的内容,包括:phpmyadmin删除mysql数据表,下一页默认勾选启用外键约束,请问什么情况不启用外键约束执行呢、Derby数据库里,怎么删除带有外键的表里的数据、数据库 外键,如何修改数据库中主外键约束的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)