drop table if exists gh_ost_test; create table gh_ost_test ( id int auto_increment, i int not null, e enum('red', 'green', 'blue', 'orange') null default null collate 'utf8_bin', primary key(id, e) ) auto_increment=1; drop event if exists gh_ost_test; delimiter ;; create event gh_ost_test on schedule every 1 second starts current_timestamp ends current_timestamp + interval 60 second on completion not preserve enable do begin insert into gh_ost_test values (null, 11, 'red'); set @last_insert_id := last_insert_id(); insert into gh_ost_test values (@last_insert_id, 11, 'green'); insert into gh_ost_test values (null, 13, 'green'); insert into gh_ost_test values (null, 17, 'blue'); set @last_insert_id := last_insert_id(); update gh_ost_test set e='orange' where id = @last_insert_id; insert into gh_ost_test values (null, 23, null); set @last_insert_id := last_insert_id(); update gh_ost_test set i=i+1, e=null where id = @last_insert_id; end ;;