我这样一张Mysql数据表
先前使用Flask写了一个数据处理配置接口,第一次调用该接口传递指定参数,对指定列进行处理返回如下结果
但再次调用该接口处理其他列的时候,返回如下结果
如何返回如下结果?
该接口核心代码大致如下
# 获取数据值
datas = res[0] # ['FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL']
# 获取字段名
col = res[1] # Site
# 查询output_table数据表中存在的字段名
new_field = view_datasheet_field('output_table')
print(new_field)
if col in new_field:
# 执行插入sql语句
sql = f"INSERT INTO output_table ({col}) VALUES (%s)"
# sql = f"UPDATE output_table SET {col}=(%s);"
# 插入数据
for data in datas:
cursor.execute(sql, (data,))
【以下回答由 GPT 生成】
根据您的描述,当再次调用接口处理其他列时,返回的结果出现了空值。为解决这个问题,我建议您在执行SQL语句插入空值之前,先判断一下参数是否为空,如果为空则跳过该参数的处理。
以下是一个可能的解决方案:
# 获取数据值
datas = res[0] # ['FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL', 'FOL']
# 获取字段名
col = res[1] # Site
# 查询output_table数据表中存在的字段名
new_field = view_datasheet_field('output_table')
print(new_field)
if col in new_field:
# 执行插入sql语句
sql = f"INSERT INTO output_table ({col}) VALUES (%s)"
# sql = f"UPDATE output_table SET {col}=(%s);"
# 插入数据
for data in datas:
if data is not None:
cursor.execute(sql, (data,))
在上述代码中,使用了一个简单的判断语句 if data is not None
来判断参数是否为空,只有当参数不为空时才执行SQL语句插入操作。
这样就可以避免将空值插入数据库,从而解决返回结果出现空值的问题。
希望以上解决方案对您有所帮助,如果还有其他问题,请随时提问。
【相关推荐】