在插入语句中要求值

时间:2019-07-03 04:30:12

标签: mysql sql

我想在使用插入语句时在表中设置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

2 个答案:

答案 0 :(得分:0)

不使用null将仅在将记录保存到数据库时对此字段强制执行一个值。如果用户输入一串空格,它将仍然被保存。您需要将数据验证规则放在应用程序的前端。

答案 1 :(得分:0)

默认情况下,SQL中的列接受NULL值。而且,如果INSERT中未提供值,则默认值为NULL

在为列声明DEFAULT值(“约束”)时,如果没有提供值,则可以更改插入的值。您尚未声明DEFAULT,因此使用NULL

然后,NOT NULL阻止插入NULL值。因此,如果未提供任何值,则将使用DEFAULT值。但是,如果没有DEFAULT,则会发生错误-违反了NOT NULL约束。

简而言之,您的定义可以满足您的要求。

注意:触发器会影响此功能,因此上面假设触发器不使用该列中的值。