phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

MYSQL :comment définir les données NULL ou vides par défaut sur 0 lors de l'insertion

Si vous définissez explicitement la valeur sur NULL dans votre insertion, mais que vous souhaitez que MySQL remplace le NULL par 0, une façon de le faire est de définir la colonne pour autoriser NULL dans le CREATE TABLE instruction, puis remplacez le NULL par un TRIGGER .

Quelque chose comme ça :

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 ;

Essayez-le par vous-même dans ce SQL Fiddle