LINUX.ORG.RU

по поводу повторяющихся записей

 


0

1

хочется немного странного, а именно — добавить запись в таблицу t, если t.body последнего элемента таблицы не равно тому, что я собираюсь туда записать.

Собственно, таблица такая:

+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| id    | int(11)    | NO   | PRI | NULL    | auto_increment |
| body  | mediumtext | YES  |     | NULL    |                |
+-------+------------+------+-----+---------+----------------+

При этом в целом по таблице t.body — не уникальное.

Помогите, пожалуйста.

★★★★★

Я бы сделал так: завёл ещё одну табличку с такой же структурой («текущее»). Прилепил бы триггер на изменение, который анализировал бы твою разницу и, если она есть, пихал бы текущую запись в «архив». Триггер должен быть перед обновлением.

Естественно в своей проге ты должен только обновлять.

Правда на большом объёме скорее всего это будет тормозить.

ziemin ★★
()
Ответ на: комментарий от ziemin

т.е. в любом случае придется использовать временную таблицу (что с этим способом, что с merge)?

demidrol ★★★★★
() автор топика

Получить последний элемент таблицы, сравнить, если не равно, только тогда вставлять.

goingUp ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.