यदि आप स्पष्ट रूप से अपने इंसर्ट में मान को NULL पर सेट कर रहे हैं, लेकिन चाहते हैं कि MySQL NULL को 0 से बदल दे, तो ऐसा करने का एक तरीका यह है कि CREATE TABLE
में NULL को अनुमति देने के लिए कॉलम को परिभाषित किया जाए। कथन, और फिर NULL को TRIGGER
. से बदलें ।
कुछ इस तरह:
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 ;
इसे इस SQL Fiddle में स्वयं आज़माएं।