mdbq 3.8.1__tar.gz → 3.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {mdbq-3.8.1 → mdbq-3.8.2}/PKG-INFO +1 -1
  2. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/mysql/mysql.py +143 -140
  3. mdbq-3.8.2/mdbq/spider/aikucun.py +487 -0
  4. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq.egg-info/PKG-INFO +1 -1
  5. {mdbq-3.8.1 → mdbq-3.8.2}/setup.py +1 -1
  6. mdbq-3.8.1/mdbq/spider/aikucun.py +0 -495
  7. {mdbq-3.8.1 → mdbq-3.8.2}/README.txt +0 -0
  8. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/__init__.py +0 -0
  9. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/__version__.py +0 -0
  10. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/aggregation/__init__.py +0 -0
  11. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/aggregation/optimize_data_bak.py +0 -0
  12. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/aggregation/query_data.py +0 -0
  13. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/bdup/__init__.py +0 -0
  14. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/bdup/bdup.py +0 -0
  15. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/config/__init__.py +0 -0
  16. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/config/config.py +0 -0
  17. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/config/set_support.py +0 -0
  18. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/dataframe/__init__.py +0 -0
  19. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/dataframe/converter.py +0 -0
  20. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/log/__init__.py +0 -0
  21. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/log/mylogger.py +0 -0
  22. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/log/spider_logging.py +0 -0
  23. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/mongo/__init__.py +0 -0
  24. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/mysql/__init__.py +0 -0
  25. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/mysql/s_query.py +0 -0
  26. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/mysql/year_month_day.py +0 -0
  27. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/other/__init__.py +0 -0
  28. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/other/download_sku_picture.py +0 -0
  29. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/other/porxy.py +0 -0
  30. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/other/pov_city.py +0 -0
  31. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/other/ua_sj.py +0 -0
  32. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/pbix/__init__.py +0 -0
  33. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/pbix/pbix_refresh.py +0 -0
  34. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/pbix/refresh_all.py +0 -0
  35. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/pbix/refresh_all_old.py +0 -0
  36. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/redis/__init__.py +0 -0
  37. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/redis/getredis.py +0 -0
  38. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq/spider/__init__.py +0 -0
  39. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq.egg-info/SOURCES.txt +0 -0
  40. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq.egg-info/dependency_links.txt +0 -0
  41. {mdbq-3.8.1 → mdbq-3.8.2}/mdbq.egg-info/top_level.txt +0 -0
  42. {mdbq-3.8.1 → mdbq-3.8.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 3.8.1
3
+ Version: 3.8.2
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -290,32 +290,33 @@ class MysqlUpload:
290
290
  cursor.execute(sql, dict_data['数据主体'])
291
291
 
292
292
  if reset_id:
293
- # 6. 重置自增列
294
- try:
295
- # 查询所有复合主键
296
- sql = (
297
- f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
298
- f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
299
- )
300
- cursor.execute(sql)
301
- result = cursor.fetchall() # 复合主键数
302
- if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
303
- column_name = 'id'
304
- sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
305
- f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
306
- cursor.execute(sql, (db_name, table_name, column_name))
307
- result = cursor.fetchone()
308
- if result:
309
- sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
310
- cursor.execute(sql)
311
- cursor.execute(
312
- f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
313
- cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
314
- else:
315
- logger.info(f'{table_name} 存在复合主键: 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
316
- except Exception as e:
317
- logger.error(f'333 {table_name} {e}')
318
- connection.rollback()
293
+ pass
294
+ # # 6. 重置自增列
295
+ # try:
296
+ # # 查询所有复合主键
297
+ # sql = (
298
+ # f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
299
+ # f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
300
+ # )
301
+ # cursor.execute(sql)
302
+ # result = cursor.fetchall() # 复合主键数
303
+ # if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
304
+ # column_name = 'id'
305
+ # sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
306
+ # f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
307
+ # cursor.execute(sql, (db_name, table_name, column_name))
308
+ # result = cursor.fetchone()
309
+ # if result:
310
+ # sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
311
+ # cursor.execute(sql)
312
+ # cursor.execute(
313
+ # f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
314
+ # cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
315
+ # else:
316
+ # logger.info(f'{table_name} 存在复合主键: 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
317
+ # except Exception as e:
318
+ # logger.error(f'333 {table_name} {e}')
319
+ # connection.rollback()
319
320
  connection.commit()
320
321
 
321
322
  @try_except
@@ -1014,35 +1015,36 @@ class MysqlUpload:
1014
1015
  chunksize=1000
1015
1016
  )
1016
1017
  if reset_id:
1017
- # 6. 重置自增列
1018
- try:
1019
- # 查询所有复合主键
1020
- sql = (
1021
- f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1022
- f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1023
- )
1024
- cursor.execute(sql)
1025
- result = cursor.fetchall() # 复合主键数
1026
- if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1027
- column_name = 'id'
1028
- sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1029
- f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1030
- # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1031
- cursor.execute(sql, (db_name, table_name, column_name))
1032
- result = cursor.fetchone()
1033
- if result:
1034
- # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1035
- sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1036
- cursor.execute(sql)
1037
- cursor.execute(
1038
- f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1039
- cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1040
- # logger.info(f'重置自增id')
1041
- else:
1042
- logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1043
- except Exception as e:
1044
- logger.error(f'333 {table_name} {e}')
1045
- connection.rollback()
1018
+ pass
1019
+ # # 6. 重置自增列
1020
+ # try:
1021
+ # # 查询所有复合主键
1022
+ # sql = (
1023
+ # f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1024
+ # f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1025
+ # )
1026
+ # cursor.execute(sql)
1027
+ # result = cursor.fetchall() # 复合主键数
1028
+ # if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1029
+ # column_name = 'id'
1030
+ # sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1031
+ # f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1032
+ # # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1033
+ # cursor.execute(sql, (db_name, table_name, column_name))
1034
+ # result = cursor.fetchone()
1035
+ # if result:
1036
+ # # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1037
+ # sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1038
+ # cursor.execute(sql)
1039
+ # cursor.execute(
1040
+ # f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1041
+ # cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1042
+ # # logger.info(f'重置自增id')
1043
+ # else:
1044
+ # logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1045
+ # except Exception as e:
1046
+ # logger.error(f'333 {table_name} {e}')
1047
+ # connection.rollback()
1046
1048
  connection.commit() # 提交事务
1047
1049
  connection.close()
1048
1050
  return
@@ -1070,36 +1072,36 @@ class MysqlUpload:
1070
1072
  index=False,
1071
1073
  chunksize=1000
1072
1074
  )
1073
- # 6. 重置自增列
1074
- try:
1075
- # 查询所有复合主键
1076
- sql = (
1077
- f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1078
- f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1079
- )
1080
- cursor.execute(sql)
1081
- result = cursor.fetchall() # 复合主键数
1082
- if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1083
- column_name = 'id'
1084
- sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1085
- f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1086
- # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1087
- cursor.execute(sql, (db_name, table_name, column_name))
1088
- result = cursor.fetchone()
1089
- if result:
1090
- # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1091
- sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1092
- cursor.execute(sql)
1093
- cursor.execute(
1094
- f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1095
- cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1096
- # logger.info(f'重置自增id')
1097
- else:
1098
- logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1099
- except Exception as e:
1100
- logger.error(f'333 {table_name} {e}')
1101
- connection.rollback()
1102
- connection.close()
1075
+ # # 6. 重置自增列
1076
+ # try:
1077
+ # # 查询所有复合主键
1078
+ # sql = (
1079
+ # f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1080
+ # f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1081
+ # )
1082
+ # cursor.execute(sql)
1083
+ # result = cursor.fetchall() # 复合主键数
1084
+ # if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1085
+ # column_name = 'id'
1086
+ # sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1087
+ # f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1088
+ # # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1089
+ # cursor.execute(sql, (db_name, table_name, column_name))
1090
+ # result = cursor.fetchone()
1091
+ # if result:
1092
+ # # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1093
+ # sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1094
+ # cursor.execute(sql)
1095
+ # cursor.execute(
1096
+ # f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1097
+ # cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1098
+ # # logger.info(f'重置自增id')
1099
+ # else:
1100
+ # logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1101
+ # except Exception as e:
1102
+ # logger.error(f'333 {table_name} {e}')
1103
+ # connection.rollback()
1104
+ # connection.close()
1103
1105
  return
1104
1106
 
1105
1107
  datas = df.to_dict(orient='records')
@@ -1189,35 +1191,36 @@ class MysqlUpload:
1189
1191
  pass
1190
1192
 
1191
1193
  if reset_id:
1192
- # 6. 重置自增列
1193
- try:
1194
- # 查询所有复合主键
1195
- sql = (
1196
- f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1197
- f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1198
- )
1199
- cursor.execute(sql)
1200
- result = cursor.fetchall() # 复合主键数
1201
- if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1202
- column_name = 'id'
1203
- sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1204
- f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1205
- # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1206
- cursor.execute(sql, (db_name, table_name, column_name))
1207
- result = cursor.fetchone()
1208
- if result:
1209
- # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1210
- sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1211
- cursor.execute(sql)
1212
- cursor.execute(
1213
- f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1214
- cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1215
- # logger.info(f'重置自增id')
1216
- else:
1217
- logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1218
- except Exception as e:
1219
- logger.error(f'333 {table_name} {e}')
1220
- connection.rollback()
1194
+ pass
1195
+ # # 6. 重置自增列
1196
+ # try:
1197
+ # # 查询所有复合主键
1198
+ # sql = (
1199
+ # f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1200
+ # f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1201
+ # )
1202
+ # cursor.execute(sql)
1203
+ # result = cursor.fetchall() # 复合主键数
1204
+ # if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1205
+ # column_name = 'id'
1206
+ # sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1207
+ # f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1208
+ # # cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
1209
+ # cursor.execute(sql, (db_name, table_name, column_name))
1210
+ # result = cursor.fetchone()
1211
+ # if result:
1212
+ # # cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
1213
+ # sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1214
+ # cursor.execute(sql)
1215
+ # cursor.execute(
1216
+ # f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1217
+ # cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1218
+ # # logger.info(f'重置自增id')
1219
+ # else:
1220
+ # logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1221
+ # except Exception as e:
1222
+ # logger.error(f'333 {table_name} {e}')
1223
+ # connection.rollback()
1221
1224
  connection.commit() # 提交事务
1222
1225
  connection.close()
1223
1226
 
@@ -1500,32 +1503,32 @@ class OptimizeDatas:
1500
1503
  else: # 不存在日期列的情况
1501
1504
  self.delete_duplicate2(table_name=table_name, except_key=except_key)
1502
1505
 
1503
- # 6. 重置自增列
1504
- try:
1505
- # 查询所有复合主键
1506
- sql = (
1507
- f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1508
- f"WHERE `TABLE_SCHEMA` = '{self.db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1509
- )
1510
- cursor.execute(sql)
1511
- result = cursor.fetchall() # 复合主键数
1512
- if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1513
- column_name = 'id'
1514
- sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1515
- f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1516
- cursor.execute(sql, (self.db_name, table_name, column_name))
1517
- result = cursor.fetchone()
1518
- if result:
1519
- sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1520
- cursor.execute(sql)
1521
- cursor.execute(
1522
- f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1523
- cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1524
- else:
1525
- logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1526
- except Exception as e:
1527
- logger.error(f'333 {table_name} {e}')
1528
- self.connection.rollback()
1506
+ # # 6. 重置自增列
1507
+ # try:
1508
+ # # 查询所有复合主键
1509
+ # sql = (
1510
+ # f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
1511
+ # f"WHERE `TABLE_SCHEMA` = '{self.db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
1512
+ # )
1513
+ # cursor.execute(sql)
1514
+ # result = cursor.fetchall() # 复合主键数
1515
+ # if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
1516
+ # column_name = 'id'
1517
+ # sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
1518
+ # f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
1519
+ # cursor.execute(sql, (self.db_name, table_name, column_name))
1520
+ # result = cursor.fetchone()
1521
+ # if result:
1522
+ # sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
1523
+ # cursor.execute(sql)
1524
+ # cursor.execute(
1525
+ # f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
1526
+ # cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
1527
+ # else:
1528
+ # logger.info(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
1529
+ # except Exception as e:
1530
+ # logger.error(f'333 {table_name} {e}')
1531
+ # self.connection.rollback()
1529
1532
  self.connection.close()
1530
1533
  logger.info(f'mysql({self.host}: {self.port}) {self.db_name} 数据库优化完成!')
1531
1534