sqlalchemy.exc.StatementError: A value is required for bind parameter '175'

发布时间 2023-09-15 17:13:06作者: 不穿格子衬衫

今天在使用 sqlalchemy 执行sql插入语句时报错

insert into table_name(id, company_id, store_no, item_no, size_no, item_quality, record_type, cell_no, im_time, im_qty, deal_time, deal_qty, if_finish, etl_time ) values ('71afb358-9f66-404a-a168-76af01e6fcfa', '1', 'I0215', '2023072157922', '%(175)s/96A(2XL)%(175)s/80A(2XL)', '0', 'no_share', '', '2023-08-05 19:29:05+08', 1.0000000000, null, 0, 0, '2023-09-15 16:44:34')

报错: 

(sqlalchemy.exc.InvalidRequestError) A value is required for bind parameter '175'

size_no字段的数据本来应该是 :175/96A(2XL) :175/80A(2XL)  但是数据变成了%(175)s/96A(2XL)%(175)s/80A(2XL)

是因为:会被sqlalchemy当成特殊字符转义

解决方法:

insert into table_name(id, company_id, store_no, item_no, size_no, item_quality, record_type, cell_no, im_time, im_qty, deal_time, deal_qty, if_finish, etl_time ) values ('71afb358-9f66-404a-a168-76af01e6fcfa', '1', 'I0215', '2023072157922', '\:175/96A(2XL)\:175/80A(2XL)', '0', 'no_share', '', '2023-08-05 19:29:05+08', 1.0000000000, null, 0, 0, '2023-09-15 16:44:34')