Чтобы данные перезаписывались вместо добавления новых записей, вы можете использовать операцию UPDATE вместо INSERT. Прежде чем выполнить операцию UPDATE, вам необходимо убедиться, что запись уже существует в базе данных.
Пример кода на Python для базы данных SQLite:
```python
import sqlite3
# Подключение к базе данных SQLite
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Проверка, существует ли запись в базе данных
cursor.execute("SELECT count(*) FROM mytable WHERE id = ?", (1,))
result = cursor.fetchone()[0]
# Если запись существует, выполнить операцию UPDATE
if result == 1:
cursor.execute("UPDATE mytable SET column1 = ?, column2 = ? WHERE id = ?", ('value1', 'value2', 1))
else:
# Если запись не существует, выполнить операцию INSERT
cursor.execute("INSERT INTO mytable (id, column1, column2) VALUES (?, ?, ?)", (1, 'value1', 'value2'))
# Применение изменений
conn.commit()
# Закрытие соединения с базой данных
conn.close()
```
В этом примере проверяется существование записи с идентификатором равным 1. Если запись существует, выполняется обновление (UPDATE) значений для указанных столбцов. В противном случае, если запись не существует, выполняется вставка (INSERT) новой записи. Обратите внимание, что это только пример, и вам может потребоваться изменить код в соответствии с вашими собственными требованиями и схемой базы данных.
Чтобы предотвратить повторное добавление данных при повторном выполнении кода, вы можете использовать проверку существования записи, как показано в примере выше. Это можно сделать, например, путем проверки наличия уникального идентификатора или других уникальных полей в вашей таблице перед выполнением операций вставки. Если запись уже существует, вы можете решить, будете ли вы обновлять значения существующей записи или проигнорировать дубликат.