Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
Javascript 如何从MySQL数据库中查找枚举值?_Javascript_Mysql_Sql Server_Database_Enums - Fatal编程技术网

Javascript 如何从MySQL数据库中查找枚举值?

Javascript 如何从MySQL数据库中查找枚举值?,javascript,mysql,sql-server,database,enums,Javascript,Mysql,Sql Server,Database,Enums,我给出了一个示例演示和我得到的结果 +-------+---------- name status +-------+---------- Subha 1 Rajeeb 2 Rahul 3 +-------+---------- 状态字段的类型为枚举。 当我尝试获取枚举结果时,如: 从演示中选择名称、状态+0 我得到的是2和3的名字和状态,而不是1。我还尝试了中的(0,2)和状态=2查询。您可以像这样使用查询: SELECT `name` FROM `d

我给出了一个示例演示和我得到的结果

+-------+----------
 name      status
+-------+----------
 Subha     1
 Rajeeb    2
 Rahul     3
+-------+----------
状态字段的类型为枚举。

当我尝试获取枚举结果时,如:

从演示中选择名称、状态+0


我得到的是2和3的名字和状态,而不是1。我还尝试了
中的(0,2)
状态=2
查询。

您可以像这样使用
查询

SELECT `name` FROM `demo` WHERE `demo`.`status` = 1
您在
状态为0的位置获得名称

如果要获取状态为1和2的数据,只需添加where条件,如:

WHERE (`demo`.`status` = 1 OR  `demo`.`status` = 2)

Enum
值可以使用以下单引号进行比较:

SELECT `name` FROM `demo` WHERE `demo`.`status` = '1'


原因是,当您使用where子句中的status时,枚举的内部数据类型为tinyint(以0开头)。如果status=0,则where子句将返回false

看看这个场景:

SELECT `name`, `status` FROM `demo` WHERE `demo`.`status` = 0
这使得where条件不满足,并且不返回任何结果

如果状态为1或2,则返回其满足的行和相应的行。
解决方案:

SELECT `name`, `status` FROM `demo` WHERE `demo`.`status` > -1
看见
SELECT `name`, `status` FROM `demo` WHERE `demo`.`status` > -1