背景
shell 脚本跑 Python 写数据脚本任务的时候报错:
File "./xxx.py", line 59, in xxx
cur.execute(insert_sql(col_string, str(data_list)))
psycopg2.ProgrammingError: column "it’s adj for sb和it's adj of sb的区别" does not exist
LINE 1: ...1', 'student', 16, '八年级下册', 20211028, 50347, "it’s adj ...
原因
做 print 输出之后发现是这个数写入报错:
it’s adj for sb和it's adj of sb的区别
可以看出其实是 ’
和 '
混用了(作为写作遵循互联网写作规范的强迫症患者我对于这种混用真的不能忍)。
然后在 stackoverflow 上查到了这个相关问题:Insert text with single quotes in PostgreSQL。但是它的解决方案在我看来还是不太符合我的要求,毕竟写入 pg 的数据不能因为 '
报错就强制将单个 '
转为 ''
。所以我就将 '