今天在使用 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')