【问题标题】:Insert each string values to table SQL using flask使用flask将每个字符串值插入表SQL
【发布时间】:2021-10-02 11:31:48
【问题描述】:

我有类似的字符串值:

test.test.com
atest.com
btest.com
ctest.com

我想将它们插入到数据库表中,例如: DB Example

我试过了:

@flask.route('/domain_settings', methods=['GET', 'POST'])
def domain_settings():
   ss = (s.replace(' ', ''))
   print(ss)
   # test.test.com
   # atest.com
   # btest.com
   # ctest.com
   cur = mysql.connection.cursor()
   cur.execute('INSERT INTO domain (domain_name) VALUES (%s)', [ss])
   mysql.connection.commit()
   cur.close()

但它会将它们插入一行,例如: db

我怎样才能做到这一点?

【问题讨论】:

  • 如果这是单个字符串值并且您使用的是单个插入语句,那么插入的值是否正确?
  • 如果要将每一行作为一行插入,则应拆分为不同的元素,然后进行批量插入或循环遍历拆分列表并插入它们。

标签: python sql python-3.x flask


【解决方案1】:

您可以尝试 split 方法并在 "\n" 上拆分字符串,然后在 for 循环中插入值。

@flask.route('/domain_settings', methods=['GET', 'POST'])
def domain_settings():
   s_list = s.split('\n') 
   cur = mysql.connection.cursor()
   for domain in s_list:
       cur.execute('INSERT INTO domain (domain_name) VALUES (%s)', [domain])
   mysql.connection.commit()
   cur.close()

【讨论】:

  • 非常感谢您的回复。它工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
相关资源
最近更新 更多