Здесь куча предложений.
Во-первых, поместите столбец в вашу таблицу следующим образом:
last_change TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Он всегда будет содержать время самой последней операции INSERT или UPDATE для каждая строка автоматически, без необходимости упоминать ее в вашем SQL.
Во-вторых, помните, что
UPDATE Equipment SET Updates = Updates + ' some text string'
работает. Вы можете изменить столбец на месте, не извлекая его прежнее значение. Но это может потерпеть неудачу, когда столбец становится слишком длинным. Итак, сделайте это вместо этого.
UPDATE Equipment SET Updates = RIGHT(Updates + ' some text string', 255)
при условии, что ваш столбец Updates определен как VARCHAR(255)
. Я использовал RIGHT()
, а не LEFT()
, потому что, по-видимому, наиболее интересным является последнее обновление.
В-третьих, вам, вероятно, будет целесообразно нормализовать это, добавив таблицу Equipment_history
. Вместо добавления журнала обновлений в столбец вставьте новую строку в Equipment_history
. Эта таблица может иметь эти столбцы
equipment_history_id INT primary key
equipment_id INT foreign key to Equipment table
customer VARCHAR(255) identity of the customer
update VARCHAR(255) reason for update
last_change TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Это позволяет вам при необходимости восстановить историю ваших обновлений.