最近遇到查询问题,筛选查出的数据不对,追踪到sql语句时,发现有个条件传了空字符,该字段在表中的类型是int,
即是:select * from xxx where type=‘’;其中type类型为int,表面上看应该是查不到数据才对,发现查到的数据是type=0的数据。
说明当类型为int时,空字符的查询条件会变成0,变成select * from xxx where type=0;
所以作为开发,一定要注意表的每个字段的类型,避免出现不必要的问题。
最近遇到查询问题,筛选查出的数据不对,追踪到sql语句时,发现有个条件传了空字符,该字段在表中的类型是int,
即是:select * from xxx where type=‘’;其中type类型为int,表面上看应该是查不到数据才对,发现查到的数据是type=0的数据。
说明当类型为int时,空字符的查询条件会变成0,变成select * from xxx where type=0;
所以作为开发,一定要注意表的每个字段的类型,避免出现不必要的问题。