我试过如下批量插入。当涉及到执行时,它告诉我们
{"error":{"name":"UnexpectedError","code":10000,"message":"(psycopg2.errors.NotNullViolation) null value in column \"id\" violates not-null constraint\nDETAIL: Failing row c
但是,我的数据库没有列id
我已将主键设置为user_label
{
如何确保PrimaryKey约束的设置不必将ID应用于批量插入
记录批量插入不需要我们为插入自动生成主id,对吗
以下是我的工作:
def setup(request):
engine = create_engine('postgresql://db4qigsdbfhsdfS:ajhfdiashdna@djhfbskf-db-1.c5fyydwyvna6.us-west-2.rds.amazonaws.com:5432/db4qigx5ivz8cjqsk3qlg8?sslmode=require' , echo=True)
metadata = MetaData()
metadata.reflect(engine, only=['user_fav_books'])
table = Table('user_fav_books', metadata, autoload=True, autoload_with=engine)
engine.execute(table.insert(), [{'user_label': 'user02' , 'book_label': 'AKA6' , 'is_free_assigned': True ,
'free_assign_date': DT.date.today() + DT.timedelta(days=7*0) ,
'free_assign_end_date': DT.date.today() + DT.timedelta(days=7*1) },
{'user_label': 'user02' , 'book_label': 'AKS6' , 'is_free_assigned': True ,
'free_assign_date': DT.date.today() + DT.timedelta(days=7*2) ,
'free_assign_end_date': DT.date.today() + DT.timedelta(days=7*3) },
{'user_label': 'user02' , 'book_label': 'AK47' , 'is_free_assigned': True ,
'free_assign_date': DT.date.today() + DT.timedelta(days=7*4) ,
'free_assign_end_date': DT.date.today() + DT.timedelta(days=7*5) }])
目前没有回答
相关问题 更多 >
编程相关推荐