phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

MYSQL:Wie man NULL oder leere Daten während des Einfügens standardmäßig auf 0 setzt

Wenn Sie den Wert in Ihrer Einfügung explizit auf NULL setzen, aber möchten, dass MySQL NULL durch 0 ersetzt, besteht eine Möglichkeit darin, die Spalte so zu definieren, dass NULL in CREATE TABLE zulässig ist -Anweisung und ersetzen Sie dann NULL durch einen TRIGGER .

Etwa so:

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 ;

Probieren Sie es in diesem SQL Fiddle selbst aus