我试图使用psycopg2将数据插入到数据库中,但我遇到了一个奇怪的错误。我尝试了一些方法,但没有奏效。这是我的代码:
def insert_transaction(): global username now = datetime.now() date_checkout = datetime.today().strftime('%d-%m-%Y') time_checkout = now.strftime("%H:%M:%S") username = "Peter1" connection_string = "host='localhost' dbname='Los Pollos Hermanos' user='postgres' password='******'" conn = psycopg2.connect(connection_string) cursor = conn.cursor() try: query_check_1 = """(SELECT employeeid FROM employee WHERE username = %s);""" cursor.execute(query_check_1, (username,)) employeeid = cursor.fetchone()[0] conn.commit() except: print("Employee error") try: query_check_2 = """SELECT MAX(transactionnumber) FROM Transaction""" cursor.execute(query_check_2) transactionnumber = cursor.fetchone()[0] + 1 conn.commit() except: transactionnumber = 1 """"---------INSERT INTO TRANSACTION------------""" query_insert_transaction = """INSERT INTO transactie (transactionnumber, date, time, employeeemployeeid) VALUES (%s, %s, %s, %s);""" data = (transactionnumber, date_checkout, time_checkout, employeeid) cursor.execute(query_insert_transaction, data) conn.commit() conn.close()
这是错误:
", line 140, in insert_transaction cursor.execute(query_insert_transaction, data) psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block