doulun1666 2013-04-10 20:40
浏览 214
已采纳

使用mysql中的enum字段选择行

I am facing an abnormal issue with the enum field(UserStatus) of my table(userinfo). The table structure is as follows:

Field       Type        Default
------------------------------------------
Id          int(11)       (NULL)
FirstName   varchar(50)   (NULL)
LastName    varchar(50)   (NULL)
....        ...           ...
....        ...           ...   
UserStatus  enum('0','1') (NULL)

Here I have rows with the UserStatus values as NULL, 0 and 1. But When I am trying to select rows on the basis of the UserStatus field like:

SELECT 
    * 
FROM 
    userinfo 
WHERE 
    UserStatus<>'1'

Its not working and resulting in an empty resultset.

Thanks in advance.

  • 写回答

2条回答 默认 最新

  • doukuang6795 2013-04-10 20:54
    关注

    Remember that NULL <> '1' is itself NULL and therefore your condition won't match rows whose UserStatus is NULL. Use this expression instead:

    UserStatus IS NULL OR UserStatus <> '1'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?