Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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/0/mercurial/2.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 枚举真的是邪恶的(显示列或选择)?_Php_Mysql - Fatal编程技术网

Php 枚举真的是邪恶的(显示列或选择)?

Php 枚举真的是邪恶的(显示列或选择)?,php,mysql,Php,Mysql,最好使用枚举或单独的表从可能的值(如html选择)获取列表 什么是更好的实践 当我使用SHOW COLUMNS时,枚举类型必须被解析 或 当我使用单独的表来存储可能的值,并在使用enum时使用SELECT*?时,实际上是在数据库表中对列表进行硬编码。因此,如果你需要添加一些东西,你需要去改变表格。另一方面,当您使用通过foreighn键连接的表时,您可以轻松地从前端应用程序添加关键字选择,而无需更改模式 我更喜欢在选择不受更改时使用enum,在列表随时间变化时使用具有外键关系的表。选择权在你 我

最好使用枚举或单独的表从可能的值(如html选择)获取列表

什么是更好的实践

当我使用SHOW COLUMNS时,枚举类型必须被解析


当我使用单独的表来存储可能的值,并在使用enum时使用SELECT*?

时,实际上是在数据库表中对列表进行硬编码。因此,如果你需要添加一些东西,你需要去改变表格。另一方面,当您使用通过foreighn键连接的表时,您可以轻松地从前端应用程序添加关键字选择,而无需更改模式

我更喜欢在选择不受更改时使用enum,在列表随时间变化时使用具有外键关系的表。选择权在你


我希望这对您有所帮助。

当您使用enum时,实际上是在数据库表中对列表进行硬编码。因此,如果你需要添加一些东西,你需要去改变表格。另一方面,当您使用通过foreighn键连接的表时,您可以轻松地从前端应用程序添加关键字选择,而无需更改模式

我更喜欢在选择不受更改时使用enum,在列表随时间变化时使用具有外键关系的表。选择权在你


我希望这对你有帮助。

答案是:“视情况而定”

这取决于您是否期望这些值的列表永远不会更改或很少更改,或者经常更改

在第一种情况下,创建枚举是有意义的,因为它将值列表定义为数据模型本身的一部分。它明确地告诉用户允许哪些值


在后一种情况下,我们处理的是数据,而不是数据模型,因此,为这些值建立一个单独的表更为明智和实用。

答案是:“这取决于”

这取决于您是否期望这些值的列表永远不会更改或很少更改,或者经常更改

在第一种情况下,创建枚举是有意义的,因为它将值列表定义为数据模型本身的一部分。它明确地告诉用户允许哪些值


在后一种情况下,我们处理的是数据,而不是数据模型,因此为这些值创建一个单独的表更为明智和实用。

这实际上取决于您计划存储的选项数量。如果只有3个,我建议使用UNUM,否则分隔表更好。如果将来要添加更多选项,第二个表也会更好。

这实际上取决于您计划存储的选项数量。如果只有3个,我建议使用UNUM,否则分隔表更好。如果将来要添加更多选项,第二个表也会更好。

如果选项受到限制并修复,请将enum与直接的'not active'、'active'、'pending'一起使用

否则,最好为选项创建子表,并将子表对应的整数idPrimary键存储在父表中

请参阅我的答案:

如果选项受到限制并修复,请使用带有直接“非活动”、“活动”、“挂起”的枚举

否则,最好为选项创建子表,并将子表对应的整数idPrimary键存储在父表中

请参阅我的答案:

对不起,什么?你问的不太清楚。请看这里:对不起,什么?你问的不是很清楚。请看这里: