使用旧示例:
csr = con.cursor()
csr.execute('Truncate table test.data')
csr.executemany('INSERT INTO test.data VALUES (?,?,?,?)', Newdata)
con.commit()
我如何将 %s 插入
csr.executemany('INSERT INTO test.data VALUES (?,?,?,?)', Newdata)
尝试过:
csr.executemany('INSERT INTO test.%s VALUES (?,?,?,?)', Newdata) % symbol
最佳答案
应该是:
csr.executemany('INSERT INTO test.%s VALUES (?,?,?,?)' % symbol, Newdata)
虽然我会做类似的事情:
query = 'INSERT INTO test.%s VALUES (?,?,?,?)' % symbol
csr.executemany(query, Newdata)
请注意 ?
不是所有数据库包装器上的默认占位符。在一些 %s
中使用代替(例如 mysqldb,psycopg2)。在这些情况下,有时分段构建查询会更简单。
正在做:
query = 'INSERT INTO test.%s' % symbol
query += ' VALUES (%s,%s,%s,%s)'
否则你需要这样的东西:
query = 'INSERT INTO test.%s VALUES (%%s,%%s,%%s,%%s)' % symbol
这很痛苦。
关于python - 如何使用 python 编写数据库插入脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879209/