Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql表上添加外部约束和不添加外部约束的区别_Php_Mysql - Fatal编程技术网

Php mysql表上添加外部约束和不添加外部约束的区别

Php mysql表上添加外部约束和不添加外部约束的区别,php,mysql,Php,Mysql,在过去,我习惯于以编程方式创建表关系,这非常方便,因为您不需要对每个具有关系的表进行FK约束 但是,我想知道为具有关系的表提供FK约束,而不是仅仅创建一个属性并以编程方式检索它们(调用表,其中field=另一个表PK)的区别或优势是什么 只是一些信息,我在独立于php的MVC框架上工作,不依赖于eloquent或其他东西。 希望有人能在这方面给我上一课:D谢谢你,祝你度过愉快的一天 在编码和开发时,您应该遵循某些原则,我可以说,无论您是否为具有关系的表创建外键约束都没有问题,但您知道这不会限制列

在过去,我习惯于以编程方式创建表关系,这非常方便,因为您不需要对每个具有关系的表进行FK约束

但是,我想知道为具有关系的表提供FK约束,而不是仅仅创建一个属性并以编程方式检索它们(调用表,其中field=另一个表PK)的区别或优势是什么

只是一些信息,我在独立于php的MVC框架上工作,不依赖于eloquent或其他东西。
希望有人能在这方面给我上一课:D谢谢你,祝你度过愉快的一天

在编码和开发时,您应该遵循某些原则,我可以说,无论您是否为具有关系的表创建外键约束都没有问题,但您知道这不会限制列仅具有它所引用的那些值。因此,基本上它不是一个好的数据库模式,可能会导致不一致。例如,删除父表的行时,您必须手动删除子表的行。另一方面,如果您有一个外键约束,即onDelete=cascade,则您的数据库将自动处理所有问题,并且不会出现任何不一致。

FK约束更好,因为它监视关系。它可以在删除主实体时删除相关实体。删除父对象时,它可以
在子对象上设置null
。当您提供不存在的
parent\u id