第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用來自 python 的 ON DUPLICATE KEY UPDATE

使用來自 python 的 ON DUPLICATE KEY UPDATE

慕慕森 2022-04-27 13:41:21
我正在嘗試使用此代碼更新 mySQL 上的表,但更新部分出現(xiàn)錯(cuò)誤table_name = 'my_table'sql_select_Query = """ INSERT {0}  (age, city, gender,UniqueId)VALUES ({1},{2},{3},{4})ON DUPLICATE KEY UPDATE   age=VALUES(age,city=VALUES(city),gender=VALUES(gender),height=VALUES(height)""".format(table_name,  '877','2','1','2898989')    cursor = mySQLconnection .cursor()    cursor.execute(sql_select_Query)    mySQLconnection.commit()例如,要更新我得到的城市:Unknow columns '877'因此,它似乎將該值作為列名并在 my_table 中搜索 then。
查看完整描述

1 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

在 Python 中使用參數(shù)的正確方法是在execute()調(diào)用中傳遞值,而不是將值插入到 SQL 查詢中。


除了您的情況下的表名等標(biāo)識符。


sql_select_Query = """

INSERT `{0}`  (age, city, gender, UniqueId)

VALUES (%s, %s, %s, %s)

ON DUPLICATE KEY UPDATE

  age=VALUES(age), city=VALUES(city), gender=VALUES(gender)

""".format(table_name)


cursor.execute(sql_select_Query, ('877', '2', '1', '2898989'))

另請參閱MySQL 參數(shù)化查詢


你忘了)后面VALUES(age。也許這只是您將問題轉(zhuǎn)錄到 Stack Overflow 中的一個(gè)錯(cuò)字。我已經(jīng)在上面的示例中修復(fù)了它。


您的 INSERT 語句設(shè)置height列,但它不是您插入的元組的一部分。我在上面的示例中刪除了它。如果要height在 UPDATE 子句中,則需要將其包含在元組中并在參數(shù)中傳遞一個(gè)值。


此外,我在表名周圍加上反引號,以防表名是保留關(guān)鍵字或包含空格或其他內(nèi)容。


查看完整回答
反對 回復(fù) 2022-04-27
  • 1 回答
  • 0 關(guān)注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號