Discuss / Python / 关于db.py中的反单引号

关于db.py中的反单引号

putong888

#1 Created at ... [Delete] [Delete and Lock User]

db.py 450行出现的反单引号应该怎么理解啊?

sql = 'insert into `%s` (%s) values (%s)' % (table, ','.join(['`%s`' % col for col in cols]), ','.join(['?' for i in range(len(cols))]))

putong888

#2 Created at ... [Delete] [Delete and Lock User]

我测试下来是这样的

>>> table='user'
>>> sql='insert into `%s` values'% table
>>> sql
'insert into `user` values'
>>>

putong888

#3 Created at ... [Delete] [Delete and Lock User]
>>> cols=('id','name')
>>> ','.join(['`%s`'% col for col in cols])
'`id`,`name`'
>>>

廖雪峰

#4 Created at ... [Delete] [Delete and Lock User]

反单引号是mysql用于区分关键字和普通字段用的,如果你的字段名和sql关键字冲突,就必须加上,如果不冲突,可加可不加


  • 1

Reply