sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

MYSQL:cómo hacer que los datos NULL o vacíos sean predeterminados en 0 durante la inserción

Si está configurando explícitamente el valor en NULL en su inserción, pero desea que MySQL reemplace NULL con 0, una forma de hacerlo es definir la columna para permitir NULL en CREATE TABLE declaración, y luego reemplace el NULL con un TRIGGER .

Algo como esto:

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 ;

Pruébelo usted mismo en este SQL Fiddle