check_empty_suspected_errors.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import pymysql
  2. print('检查列表中显示为空的疑似错误标注...')
  3. try:
  4. conn = pymysql.connect(
  5. host='rm-f8ze60yirdj8786u2wo.mysql.rds.aliyuncs.com',
  6. port=3306,
  7. user='root',
  8. password='csqz@20255',
  9. db='csqz-client',
  10. charset='utf8mb4',
  11. cursorclass=pymysql.cursors.DictCursor
  12. )
  13. print('数据库连接成功')
  14. cursor = conn.cursor()
  15. # 查询所有suspected_error字段不为NULL的成员
  16. query = """
  17. SELECT id, name, simplified_name, suspected_error
  18. FROM family_member_info
  19. WHERE suspected_error IS NOT NULL
  20. ORDER BY name
  21. """
  22. cursor.execute(query)
  23. members = cursor.fetchall()
  24. print(f'\n找到 {len(members)} 个成员的suspected_error字段不为NULL')
  25. print('\n检查suspected_error字段值:')
  26. print('-' * 80)
  27. empty_count = 0
  28. for member in members:
  29. se = member['suspected_error']
  30. se_type = type(se)
  31. se_repr = repr(se)
  32. se_len = len(se) if isinstance(se, str) else 0
  33. se_trimmed = se.strip() if isinstance(se, str) else ''
  34. se_trimmed_len = len(se_trimmed)
  35. # 检查是否为空或只包含空白字符
  36. if not se or se_trimmed == '':
  37. empty_count += 1
  38. print(f'ID: {member["id"]}, 姓名: {member["name"]}, 疑似错误标注: {se_repr}, 类型: {se_type}, 长度: {se_len}, 去除空白后长度: {se_trimmed_len}')
  39. print('-' * 80)
  40. print(f'\n其中 {empty_count} 个成员的疑似错误标注为空')
  41. # 检查前端显示为空的具体记录
  42. print('\n检查前端显示为空的记录:')
  43. front_end_empty_ids = [2929, 1831, 1835, 1907, 1802, 1857, 1989, 1941, 1967, 1972]
  44. for member_id in front_end_empty_ids:
  45. cursor.execute("SELECT id, name, suspected_error FROM family_member_info WHERE id = %s", (member_id,))
  46. record = cursor.fetchone()
  47. if record:
  48. se = record['suspected_error']
  49. print(f'ID: {record["id"]}, 姓名: {record["name"]}, 疑似错误标注: {repr(se)}, 长度: {len(se) if isinstance(se, str) else 0}')
  50. conn.close()
  51. except Exception as e:
  52. print(f'Error: {e}')