当我发送查询时
SELECT id FROM private_messages WHERE to_id=1 AND opened=0
Run Code Online (Sandbox Code Playgroud)
它没有返回任何东西
SELECT id FROM private_messages WHERE to_id=1 AND opened<>1
Run Code Online (Sandbox Code Playgroud)
返回open = 0的所有结果.opened列类型是带有"1"和"0"(默认)值的枚举.问题是,为什么第一个查询不返回任何内容?
既然opened是枚举,你应该写:
SELECT id FROM private_messages WHERE to_id=1 AND opened='0'
Run Code Online (Sandbox Code Playgroud)
枚举实际上只是一组可能的字符串.从文档:
An
ENUM是一个字符串对象,其值从允许值列表中选择,这些值在表创建时在列规范中显式枚举.