MySQL nepodporuje počítané sloupce nebo výrazy v DEFAULT možnost definice sloupce.
Můžete to udělat ve spouštěči (vyžaduje se MySQL 5.0 nebo vyšší):
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END
Můžete také chtít vytvořit podobný spouštěč BEFORE UPDATE .
Dejte si pozor na NULL ve jménu a příjmení, protože spojení NULL s jakýmkoli jiným řetězcem vytvoří NULL . Použijte COALESCE() na každý sloupec nebo podle potřeby na zřetězený řetězec.
upravit: Následující příklad nastaví stage_name pouze pokud je NULL . Jinak můžete zadat stage_name ve vašem INSERT prohlášení a bude zachováno.
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
IF (NEW.stage_name IS NULL) THEN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END IF;
END