0
我試圖在IF表中使用IF語句執行多個更新,其中IF語句的條件與我正在更新的表不同。例如,我正在使用table2中的檢查更新表1。跨多個表的MySQL IF語句
MySQL返回一個錯誤,說它無法找到'table2.col1'。這兩個表和列的存在,所以我不知道爲什麼我收到這個錯誤..
cursor = database.cursor()
cursor.execute("""UPDATE table1 SET col1 = IF(table2.col1= 2, 3 , table1.col1),
col2 = IF(table2.col1= 2 ,%s , table1.col2),
col3 = IF(table2.col1= 2 , %s , table1.col3),
col4 = IF(table2.col1= 2 , %s , table1.col4)
WHERE id =%s""", (val2, val3, val4, id))
database.commit()
錯誤:
_mysql_exceptions.OperationalError: (1054, "Unknown column 'table2.col1' in 'field list'")
可能有些引號丟失,'table2'.col1 = 2' –
您需要加入您的其他表格。 – Vatev