mysql sql语句里面可能经常会看见别人写where 1=1 在条件语句中
最开始不是很明白为什么
后来仔细推敲了查询了才知道,是有好处的。
由于1=1 是永恒成立的,言外之意就是 一定成立 这个sql语句
比如:
SELECT materials FROM table WHERE 1 = 1
当我们在项目中,后面会拼接各种条件时就发挥作用了。
当条件语句不成立,或者没有参数时 ,语句一样成立,同时可以避免拼无参数错误这样紫。
比如:
sql = ''' SELECT materials FROM table WHERE 1 = 1 '''
if ccNo :
sql += ''' or type = {} '''.format(ccNo)
如果ccNo没有时,一样运行。
如果没有,1=1 条件不成立, 还得处理where问题
1.条件没有时,原语句一样完整运行
2.避免拼接错误