我想在使用插入语句时在表中设置CREATE TRIGGER change_network_ebay BEFORE UPDATE ON catalog_product_entity_varchar
FOR EACH ROW
BEGIN
IF NEW.attribute_id = '260' THEN
UPDATE catalog_product_entity_varchar
SET NEW.value = '4G/LTE' where entity_id = NEW.entity_id AND NEW.attribute_id= 260 ;
END IF;
END;
值,我想使用ItemCode
约束,但是我不知道这是否正确。这是我的桌子的结构
NOT NULL
答案 0 :(得分:0)
不使用null将仅在将记录保存到数据库时对此字段强制执行一个值。如果用户输入一串空格,它将仍然被保存。您需要将数据验证规则放在应用程序的前端。
答案 1 :(得分:0)
默认情况下,SQL中的列接受NULL
值。而且,如果INSERT
中未提供值,则默认值为NULL
。
在为列声明DEFAULT
值(“约束”)时,如果没有提供值,则可以更改插入的值。您尚未声明DEFAULT
,因此使用NULL
。
然后,NOT NULL
阻止插入NULL
值。因此,如果未提供任何值,则将使用DEFAULT
值。但是,如果没有DEFAULT
,则会发生错误-违反了NOT NULL
约束。
简而言之,您的定义可以满足您的要求。
注意:触发器会影响此功能,因此上面假设触发器不使用该列中的值。