O MySQL não suporta colunas ou expressões computadas no
DEFAULT opção de uma definição de coluna. Você pode fazer isso em um gatilho (necessário MySQL 5.0 ou superior):
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END
Você também pode criar um gatilho semelhante
BEFORE UPDATE . Cuidado com
NULL em nome próprio e sobrenome, porque concat de um NULL com qualquer outra string produz um NULL . Use COALESCE() em cada coluna ou na string concatenada conforme apropriado. editar: O exemplo a seguir define
stage_name somente se for NULL . Caso contrário, você pode especificar o stage_name em seu INSERT declaração, e ela será preservada. 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