diff --git a/DB.py b/DB.py index 75a8aa1..1edf1de 100644 --- a/DB.py +++ b/DB.py @@ -229,21 +229,6 @@ class DBVidcon: while True: try: - # 1) 先读 is_repeat - select_repeat = """ - SELECT is_repeat,watch_number,follow_number,video_number - FROM sh_dm_video_v2 - WHERE rn = %(rn)s - AND v_xid = %(v_xid)s - LIMIT 1 - """ - self.cursor.execute(select_repeat, data) - row = self.cursor.fetchone() - if row: - data['is_repeat'] = row.get('is_repeat', 3) - data['fans'] = row.get('follow_number', 0) - data['videos'] = row.get('video_number', 0) - # 2) 插入到 op 表 sql_op = """ INSERT INTO sh_dm_video_op_v2 ( v_id, v_xid, a_id, level, name_title, @@ -256,36 +241,29 @@ class DBVidcon: ) """ self.cursor.execute(sql_op, data) + sql_update = """ + INSERT INTO sh_dm_video_v2 ( + v_id, v_xid, rn, v_name, title, link, + edition, duration, + public_time, cover_pic, sort, + u_xid, u_id, u_pic, u_name, + status, createtime, updatetime + ) VALUES ( + %(v_id)s, %(v_xid)s, %(rn)s, %(v_name)s, %(title)s, %(link)s, + '', %(duration)s, + %(create_time)s, %(cover_pic)s, %(sort)s, + %(u_xid)s, %(u_id)s, %(u_pic)s, %(u_name)s, + 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() + ) + ON DUPLICATE KEY UPDATE + title = VALUES(title), + duration = VALUES(duration), + cover_pic = VALUES(cover_pic), + sort = VALUES(sort), + updatetime = UNIX_TIMESTAMP(); + """ - # 3) 删除旧表行 - sql_del = """ - DELETE FROM sh_dm_video_v2 - WHERE rn = %(rn)s - AND v_xid = %(v_xid)s - """ - self.cursor.execute(sql_del, data) - - # 4) 插入新表 - sql_ins = """ - INSERT INTO sh_dm_video_v2 ( - v_id, v_xid, rn, v_name, title, link, - is_piracy, edition, duration, - watch_number, follow_number, video_number, - public_time, cover_pic, sort, - u_xid, u_id, u_pic, u_name, - status, createtime, updatetime, - is_repeat - ) VALUES ( - %(v_id)s, %(v_xid)s, %(rn)s, %(v_name)s, %(title)s, %(link)s, - %(is_piracy)s, '', %(duration)s, - %(watch_number)s, %(fans)s, %(videos)s, - %(create_time)s, %(cover_pic)s, %(sort)s, - %(u_xid)s, %(u_id)s, %(u_pic)s, %(u_name)s, - 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), - %(is_repeat)s - ) - """ - self.cursor.execute(sql_ins, data) + self.cursor.execute(sql_update, data) break # 成功跳出重试循环 except Exception as e: