phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

MYSQL:Como tornar NULL ou dados vazios padrão para 0 durante a inserção


Se você estiver definindo explicitamente o valor como NULL em sua inserção, mas deseja que o MySQL substitua o NULL por 0, uma maneira de fazer isso é definir a coluna para permitir NULL no CREATE TABLE instrução e, em seguida, substitua o NULL por um TRIGGER .

Algo assim:
CREATE TABLE `listings` (
  `ListingID` int(11) NOT NULL,
  `BathsFull` int(6) NULL DEFAULT 0,
  PRIMARY KEY (`ListingID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

delimiter $$

create trigger tr_b_ins_listings before insert on listings for each row
begin
  set new.BathsFull = coalesce(new.BathsFull,0);
end $$

delimiter ;

Experimente você mesmo neste SQL Fiddle