2016-06-10 157 views
0

我有一個向MySQL表插入新行的問題。 表格的名稱將會改變,所以它必須是一個變量,並且我最麻煩。 如何用變量更改表格「second」的名稱? 有什麼想法?Python/MySQL「插入」與變量

add_word = ("INSERT INTO second " 
       "(name, surname) " 
       "VALUES (%s, %s)") 
    data_word = (name1, surname1) 
    cursor.execute(add_word, data_word) 

回答

-1

你不喜歡這樣:

add_word = ("INSERT INTO {table} " 
      "(name, surname) " 
      "VALUES (%s, %s)") 
atable = 'second' 
data_word = (name1, surname1) 
cursor.execute(add_word.format(table=atable), data_word) 
+0

它的工作原理。非常感謝你:) – newblack

+0

不分別放置數據意味着你需要非常小心以避免sql注入攻擊。 – cmd

+0

這很危險。您應該使用MySQL內置的字符串構建和轉義功能。 – User

1

您不能將表名稱作爲數據。你將不得不把它放在sql語句中。也許是這樣的:

add_word = ("INSERT INTO {table} " 
      "(name, surname) " 
      "VALUES (%s, %s)") 
table1 = 'second' 
data_word = (name1, surname1) 
cursor.execute(add_word.format(table=table1), data_word)