Я хочу записать timestamp, parameter_id и значение в мой db, используя временную метку и параметр_id в качестве основного уникального ключа.INSERT INTO ... ON DUPLICATE KEY UPDATE
data_togo, CREATE TABLE 'data_togo' ( 'id_para' int(10) unsigned NOT NULL DEFAULT '0', 't_ns' bigint(20) unsigned NOT NULL DEFAULT '0', 'id_inst' smallint(6) NOT NULL DEFAULT '1', 'value' varchar(255) NOT NULL DEFAULT '', 'isanchor' tinyint(4) unsigned NOT NULL DEFAULT '0', PRIMARY KEY ('t_ns','id_para') ) ENGINE=InnoDB DEFAULT CHARSET=utf8
Однако в очень редком состоянии случай может произойти, где есть повторяющиеся первичные ключи с различными значениями.
INSERT INTO data_togo (id_para, t_ns, id_inst, value, is_anchor) VALUES ...
Можно ли держать обе строки и обновлять вторую метку (наносекунды, так что не имеет значения) +1?
EDIT: Проблема: в настоящее время есть ошибка, из которой я получаю данные, временная метка округляется до миллисекунд с разрешением в микросекундах, а затем вводится в формате наносекунд. следовательно, если он идет плохо, то и РАЗНЫЕ временные метки округляются до одного значения, что приводит к дублированию первичного ключа.
Я редактировал вопрос, чтобы дать вам некоторый фон. это ошибка, это было бы легко обходным путем. и он не имеет ничего общего с дублирующимися первичными ключами. –