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