正如您所发现的,问题确实是INSERT
陈述:
INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);", (user_id, mp_distinct_id, created, mp_email, created_exist, email_exist, user_exist, distinct_id_found)
你是对的table有八列,但你告诉 SQL 你只是setting其中四个与INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email)
- 括号中的列是它将尝试设置的列。
以下是我对 INSERT 语句的看法:
INSERT INTO <tablename> (<target columns>) VALUES (<values on new row>)
因此,如果您尝试设置所有八个列,则需要将所有列名称放在括号中:
INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email, created_exist, email_exist, user_exist, distinct_id_found) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);", (user_id, mp_distinct_id, created, mp_email, created_exist, email_exist, user_exist, distinct_id_found)
上面的查询应该有效。