Это один из первых шагов в дизайне и нормализации базы данных. Вы должны иметь возможность явно определить, что вы подразумеваете под дублирующей строкой , а затем поместите ограничение первичного ключа (или уникальное ограничение) на столбцы в таблице, которые представляют это определение.
Прежде чем вы узнаете, что вы укажете , повторите попытку, потому что вы должны определить (или решить) именно то, что таблица должна содержать. то есть, какой объект или абстракция реального мира для бизнес-домена каждая строка в таблице представляет или будет содержать данные для ...
После того, как вы это сделали, ограничение PK или уникальное ограничение остановит вас от вставки повторяющихся строк. . Тот же PK поможет вам найти повторяющуюся строку, когда она существует, и обновить ее значениями столбцов, не дублирующих символы (не-PK), которые отличаются от значений в существующей дублирующей строке. Только после того, как все это будет сделано, можно вставить или заменить (как определено SQL Lite) справкой процесса. Эта команда проверяет, существует ли дублирующаяся строка (*, как указано в ограничении PK), и если это произойдет, вместо того, чтобы вставлять новую строку, она обновляет не-PK определенные столбцы в этой строке со значениями, используемыми вашим запросом Replace.
или можно было просто не думать о дизайне и использовать первое, что можно взломать в работе, а затем за полгода озадачиваться тем, почему первая реализация настолько хрупка и устойчива к обслуживанию, винить «DBM» и двигаться на следующую работу ...;) – msw