mariadb 如何在SQL中只从数据库中提取ned行?如何只插入数据库中不存在的行?

hi3rlvi2  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(114)

我有两个非常相似的问题。我正在使用Python处理SQL数据库。首先,我只想从SQL数据库中获取新数据(它会不断地更新新条目)。如果我已经选择了整行,我不想再选择它,只想获取新的数据。我现在拥有的代码是:

sql = ''' SELECT * FROM table WHERE time BETWEEN ? AND ? ''' #Select all columns of the database between the two timestamps
cur.execute(sql,[start_time,end_time])

然后,我想将其他数据插入到另一个数据库中,但不想添加已经存在的行。

query = 'INSERT INTO table_2 (col_1, col_2, col_3, col_4, col_5, col_6) VALUES(%s, %s, %s, %s, %s, %s)'                                                        
my_data = []

for row in data_df:
    my_data.append(tuple(row))
cur.executemany(query, my_data)

如果尝试使用WHERE NOT EXISTS功能,但我不确定语法,我不断得到错误。

q43xntqr

q43xntqr1#

我将尝试帮助您我的建议是在您的表中添加一个列整数,您可以将其命名为STATUS,并将其初始化为值0。然后您将添加一个“WHERE”条件,如下所示:“WHERE STATUS = 0”然后,您将在STATUS = 1时更新所选行(您应该在转换中执行此操作)如果您无法处理该表,没有问题=〉您可以创建一个临时表,其中包含您需要的所有数据和具有状态的列。我的意思是,您将在一个多一列的临时结构中转储所有数据。

相关问题