我在 stackexchange 上看到了一个类似的问题,但它的答案并没有给我正确的结果。
出于演示目的,我有一个PURCHASES
带有列的简单表PURCHASE_NUM
, PURCHASE_DATE
,CUSTOMER_ID.
我想对CUSTOMER_ID
表强制执行非空约束。我尝试了以下方法:
ALTER TABLE PURCHASES MODIFY CUSTOMER_ID char NOT NULL;
该语法很好,但随后我插入以下内容:INSERT INTO PURCHASES VALUES (333, NULL, NULL);
并且添加元组没有问题。为什么没有强制执行约束?在添加约束之前该列中已经存在 NULL 值会影响事物吗?
谢谢
编辑 DESCRIBE PURCHASES;
对感兴趣的列说以下内容:
Field, Type, Null, Key, Default, Extra
CUSTOMER_ID, char(5), YES, , NULL,