Nếu bạn đang đặt giá trị rõ ràng thành NULL trong phần chèn của mình, nhưng muốn MySQL thay thế NULL bằng 0, một cách để làm điều đó là xác định cột để cho phép NULL trong CREATE TABLE
và sau đó thay thế NULL bằng TRIGGER
.
Một cái gì đó như thế này:
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 ;
Hãy thử tự mình thực hiện trong SQL Fiddle này