1. 程式人生 > >python的pymysql中以表名作為變量傳遞進查詢語句中

python的pymysql中以表名作為變量傳遞進查詢語句中

是我 也有 tab 變量傳遞 sql %s 找到 自己的 思維

在我們學習使用pymysql的時候有時需要把表名當做變量傳遞到sql語句中去執行,
然而我們的固定思維模式有時卻限制了我們:
如:我們知道傳遞變量可以用占位符%s,後面加上變量就行,
在pymysql中也有同樣的問題,我們在執行sql語句的時候可以把變量傳遞進去
類似:

sql = ‘insert into TabName + ‘ value (%s %s)‘
cursor.execute(sql, [name,age])

如果我們的TabName也是變量的話我們就會習慣性的這樣加

sql = ‘insert into %s + ‘ value (%s %s)‘
cursor.execute(sql, [tabname,name,age])

然後這樣報錯了我們才知道這樣不行,然後再去查原因,發現我們被自己的固定思維給限制住了(反正我是這樣的)

我也是在網上找了半天再找到了解決辦法,只要跳出這樣的思維就行了

錯誤:
sql = ‘insert into %s + ‘ value (%s %s)‘
cursor.execute(sql, [tabname,name,age])

改為:
sql = ‘insert into %s(name,age)‘ %TabName + ‘ value (%s)‘
cursor.execute(sql, [name])

這樣就沒問題了,有時候我們是能解決這類似的問題的,但是我們卻是往往被自己的固定思維給坑了!

python的pymysql中以表名作為變量傳遞進查詢語句中