You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Flask将多行域名分别插入MySQL数据库表的实现问题

问题根因

你当前处理得到的ss是包含换行符的整段字符串,没有按行拆分为独立的域名条目,执行单次INSERT语句时会把整段内容作为一个值插入,自然就出现在同一行中。

解决方法

先将整段域名文本按换行拆分为独立条目,过滤空行后批量插入即可,推荐使用executemany完成批量操作,比循环执行单条插入效率更高。
修正后的代码如下:

@flask.route('/domain_settings', methods=['GET', 'POST'])
def domain_settings():
    # 此处需先正确获取传入的域名文本,示例为从表单字段domain_list中取值
    s = request.form.get('domain_list', '')
    # 按换行拆分文本,逐行去除首尾空格,同时过滤空行
    domain_list = [line.strip() for line in s.splitlines() if line.strip()]
    cur = mysql.connection.cursor()
    # 批量插入多个域名
    cur.executemany('INSERT INTO domain (domain_name) VALUES (%s)', [(domain,) for domain in domain_list])
    mysql.connection.commit()
    cur.close()
核心修改说明
  • 调用splitlines()方法将整段带换行的字符串拆分为由单行内容组成的列表
  • 列表推导式同时完成了单行内容去空格、无效空行过滤的逻辑,避免插入空白无效值
  • 用executemany执行批量插入,要求每个参数对应一个元组,因此将每个域名包装为(domain,)的格式传入

内容的提问来源于stack exchange,提问作者Samer Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 14:15:01