python 拼接 sql 语句 采坑小结
不能成功运行
exists = "SELECT count(*) FROM centralsystem.t_user WHERE USERNAME = " + 'xxx'
pymysql.err.OperationalError: (1054, "Unknown column 'xxx' in 'where clause'")
exists = "SELECT count(*) FROM centralsystem.t_user WHERE USERNAME = 'xxx'"
却能成功运行
python ""双引号字符串
exists = "SELECT count(*) FROM centralsystem.t_user WHERE USERNAME = '"+ userName+"'"
这样就可以了。
sql语句中的xxx必须要括上单引号'
使用双引号,意味着,里边的点引号不需要转义。
使用单引号,意味着,里边的双引号不需要转义。
所以:
exists = "SELECT count(*) FROM centralsystem.t_user WHERE USERNAME = '"+ userName+"'"
这样写, 把userName括上一层,单引号,问题就解决了