Если вы периодически «исправляете» какой-либо столбец таблицы, то в течение некоторого времени столбцы будут содержать неверные данные. Вы, вероятно, не хотите этого.
Вместо этого, я думаю, что триггер будет лучше, так как он будет "исправлять" данные на лету при вставке / обновлении. Таблица никогда не будет содержать неправильные данные для начала.
См. 24.3.1 Синтаксис триггера и примеры .
Например (настроить при необходимости):
create table users (id int, bouquet varchar(100));
create trigger fix_data before insert on users
for each row
begin
set NEW.bouquet = '["12","10","11","8","9","6","7","5","4","3","2","1"]';
end;
Тогда, если вы выполните следующие INSERT
операторы:
insert into users (id, bouquet) values (1, 'Hello');
insert into users (id) values (2);
insert into users (id, bouquet) values (3, null);
insert into users (id, bouquet) values (4,
'["12","10","11","8","9","6","7","5","4","3","2","1"]');
select * from users;
Вы получите результат:
id bouquet
-- ----------------------------------------------------
1 ["12","10","11","8","9","6","7","5","4","3","2","1"]
2 ["12","10","11","8","9","6","7","5","4","3","2","1"]
3 ["12","10","11","8","9","6","7","5","4","3","2","1"]
4 ["12","10","11","8","9","6","7","5","4","3","2","1"]