import pymysql # ==============================数据库模块=================================== def check_link_exists(host, user, password, database, link): """ 检查指定的 link 是否存在于 MySQL 数据库表中,如果不存在,则插入该链接 :param host: MySQL 数据库主机地址 :param user: MySQL 用户名 :param password: MySQL 密码 :param database: 数据库名称 :param link: 需要检查的链接 :return: 如果链接存在,返回 True;如果链接不存在且插入成功,返回 False """ connection = None # 确保 connection 被初始化 try: # 连接到 MySQL 数据库 connection = pymysql.connect( host=host, user=user, password=password, database=database ) with connection.cursor() as cursor: # 查询链接是否存在 cursor.execute("SELECT 1 FROM links WHERE link = %s", (link,)) result = cursor.fetchone() # 如果链接存在 if result: return True else: return False except pymysql.MySQLError as e: print(f"数据库错误: {e}") return False finally: # 确保在结束时关闭连接 if connection: connection.close() def check_link_insert(host, user, password, database, link): """ 检查指定的 link 是否存在于 MySQL 数据库表中,如果不存在,则插入该链接 :param host: MySQL 数据库主机地址 :param user: MySQL 用户名 :param password: MySQL 密码 :param database: 数据库名称 :param link: 需要检查的链接 :return: 如果链接存在,返回 True;如果链接不存在且插入成功,返回 False """ connection = None # 确保 connection 被初始化 try: # 连接到 MySQL 数据库 connection = pymysql.connect( host=host, user=user, password=password, database=database ) with connection.cursor() as cursor: # 查询链接是否存在 cursor.execute("SELECT 1 FROM links WHERE link = %s", (link,)) result = cursor.fetchone() if result: # 如果链接已经存在,返回 True return True else: # 插入链接 cursor.execute("INSERT INTO links (link) VALUES (%s)", (link,)) connection.commit() # 提交事务 print("链接已插入") return False except pymysql.MySQLError as e: print(f"数据库错误: {e}") return False finally: # 确保在结束时关闭连接 if connection: connection.close()