CREATE TABLE `testBeforeInsert` (
  `str` VARCHAR(16) NOT NULL,
  `virt1` INT(11) GENERATED ALWAYS AS (0) VIRTUAL,
  `virt2` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt3` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt4` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt5` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt6` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt7` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt8` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt9` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  PRIMARY KEY (`str`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

CREATE TABLE `testBeforeUpdate` (
  `str` VARCHAR(16) NOT NULL,
  `virt1` INT(11) GENERATED ALWAYS AS (0) VIRTUAL,
  `virt2` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt3` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt4` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt5` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt6` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt7` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt8` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  `virt9` VARCHAR(128) GENERATED ALWAYS AS ('a') VIRTUAL,
  PRIMARY KEY (`str`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

INSERT INTO `testBeforeInsert` (`str`) VALUES ('test');
INSERT INTO `testBeforeUpdate` (`str`) VALUES ('test');

DELIMITER $$

CREATE
    TRIGGER `testBeforeInsertTrigger` BEFORE INSERT ON `testBeforeInsert` 
    FOR EACH ROW BEGIN
    END;
$$

CREATE
    TRIGGER `testBeforeUpdateTrigger` BEFORE UPDATE ON `testBeforeUpdate` 
    FOR EACH ROW BEGIN
    END;
$$

DELIMITER ;

SHUTDOWN;