所以tinyint我的数据库中有一个数据类型列,我在其中存储了从0to 的值2。
我的理解是 MySQL 将列中的任何非零数字tinyint视为真(在本例中为1和2),将0视为假。但是,当我执行从tinyint行所在的表中检索某些信息的查询时true,它仅适用于具有1作为值的行。换句话说,具有2作为值的行不被true查询0视为(并且被视为false)。查询将类似于:
SELECT data FROM table WHERE active=true
Run Code Online (Sandbox Code Playgroud)
其中active是数据类型,tinyint并且之前已为其分配值0,1或2视情况而定。
我对 MySQL 还很陌生,所以我不知道这里是否有一些细节我可能会遗漏,但我不明白为什么它没有在值为 2 的行上返回请求的数据。任何想法都可以在这里提供帮助。