mysql 查询不到结果 tinyint 设置为空
今天上线一个新的功能,改了数据库,当时没有注意,犯了一个愚蠢的错误
alter table xx add ispause tinyint(1) default null
结果在执行查询的时候,
select * from xx where ispause != 1
没有结果
上面的错误:
1.tinyint 指定的null为默认值,在执行查询的时候,无法正常过滤
2.没有使用not null 默认null不利于优化
正确的方法:
alter table xx add ispause tinyint(1) not null default 0