MySQL是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在使用MySQL 5.7時(shí),我們可能會(huì)遇到日期為NULL的情況。
在MySQL 5.7中,如果我們想要將日期存儲(chǔ)為NULL,需要將該數(shù)據(jù)列設(shè)置為允許NULL。否則,MySQL將對NULL日期進(jìn)行特殊處理,并將其轉(zhuǎn)化為“0000-00-00”。
CREATE TABLE test_date (
id INT PRIMARY KEY,
date_test DATE NOT NULL
);
在上述示例中,我們創(chuàng)建了一個(gè)名為test_date的表。該表包含id和date_test兩個(gè)字段。我們將date_test設(shè)為NOT NULL,這意味著這個(gè)字段必須有一個(gè)值。
INSERT INTO test_date VALUES (1, NULL);
如果我們現(xiàn)在向test_date表插入一個(gè)NULL日期,MySQL將會(huì)拋出一個(gè)錯(cuò)誤:
ERROR 1048 (23000): Column 'date_test' cannot be null
這是因?yàn)槲覀円呀?jīng)將date_test設(shè)為NOT NULL,這個(gè)字段必須有一個(gè)值。如果我們要將日期設(shè)置為NULL,我們需要使用一個(gè)不同的方法:
ALTER TABLE test_date MODIFY date_test DATE NULL;
通過上述代碼,我們可以將date_test的NOT NULL屬性更改為NULL。
UPDATE test_date SET date_test = NULL WHERE id = 1;
現(xiàn)在,我們可以使用上述代碼將id為1的date_test設(shè)置為NULL日期。
總之,在MySQL 5.7中,要正確處理日期為NULL,需要將其設(shè)為允許NULL,然后使用ALTER TABLE命令更改表結(jié)構(gòu)。
上一篇mysql5.7日志記錄
下一篇pure.css 論壇