我在Python中运行程序时遇到此错误。
这是我的数据库表:

Field           Type            Collation       Null        Key     Default
articleCode   varchar(25)    latin1_swedish_ci   NO         UNI
dateReceived   datetime            NULL          NO         MUL     0000-00-00 00:00:00
s100RSD        datetime            NULL          YES                0000-00-00 00:00:00
remarks        longtext      latin1_swedish_ci   YES


为了简化程序的问题,我将在此处隔离发生错误的程序部分:

import MySQLdb

def main():
    dateReceived = '2011-10-07 01:06:30'
    articleCode = 'name'
    s100rsd = '2011-10-07 01:06:30'
    remark_text = 'This is a remark'
    db = MySQLdb.connect('server', 'user', 'passwd', 'table_name', port)
    cur = db.cursor()
    db_query = cur.execute("INSERT INTO tblS100CurrentListing (articleCode, dateReceived, s100RSD, remarks) VALUES ('articleCode', 'dateReceived', 's100rsd', 'remark_text')")
    cur.close()
    db.close()

if __name__ == '__main__':
    main()


这是我得到的错误:_mysql_exceptions.IntegrityError:(1062,“键1的重复条目'2147483647'”)

感谢你的帮助!

最佳答案

您似乎是在向数据库中插入常量,而不是实际值。相反,尝试类似的方法;

db_query = cur.execute("INSERT INTO tblS100CurrentListing " +
    "(articleCode, dateReceived, s100RSD, remarks) VALUES (%s, %s, %s, %s)",
    (articleCode, dateReceived, s100rsd, remark_text))

09-26 20:49