我有一个包含多个列的数据库表.其中一列用作布局设置,如TINYINT(1)DEFAULT 0.
我意外地发现,如果你运行这个查询
SELECT * FROM table_name WHERE column_name;
它返回column_name = 1的行.
我很想知道MySql用来处理这个查询的逻辑.
最佳答案 正如文档在“选择语法”中所述,(
http://dev.mysql.com/doc/refman/5.1/en/select.html)
where_condition is an expression that evaluates to true for each row to be selected
因此,简单列名称将被计算为布尔值,并选择相应的行.你会发现它也适用于整数.