我有麻煩試圖設置PDD
(患者死亡日期)對PHPMYADMIN空,直至死亡日期來到。也在客戶端,那麼我可以檢查NULL
數據來使用它。警告:#1265數據被截斷列「PDD」第1行
任何人都可以給我一個解決方案嗎?
patientnhs_no hospital_no sex name surname dob address pls pdd
1001001001 6000001 m john smith 1941-01-01 Bournmouth 1 0000-00-00
我有麻煩試圖設置PDD
(患者死亡日期)對PHPMYADMIN空,直至死亡日期來到。也在客戶端,那麼我可以檢查NULL
數據來使用它。警告:#1265數據被截斷列「PDD」第1行
任何人都可以給我一個解決方案嗎?
patientnhs_no hospital_no sex name surname dob address pls pdd
1001001001 6000001 m john smith 1941-01-01 Bournmouth 1 0000-00-00
(如果是,如果死了活着還是死亡日期PDD爲空)隨着消息的錯誤說,你需要增加你列的長度以適應數據的長度,你想插入(0000-00-00)
編輯1:
按照您的意見,我運行一個測試表:
mysql> create table testDate(id int(2) not null auto_increment, pdd date default null, primary key(id));
Query OK, 0 rows affected (0.20 sec)
插入:
mysql> insert into testDate values(1,'0000-00-00');
Query OK, 1 row affected (0.06 sec)
編輯2:
所以,aparently你想一個NULL值插入到pdd
現場爲您的評論的狀態? 你可以在2種方式是這樣的:
方法1:
mysql> insert into testDate values(2,'');
Query OK, 1 row affected, 1 warning (0.06 sec)
方法2:
mysql> insert into testDate values(3,NULL);
Query OK, 1 row affected (0.07 sec)
編輯3:
你沒有更改默認pdd
字段的值。下面是語法如何做到這一點(在我的情況,我將它設置爲NULL的開始,現在我將其更改爲NOT NULL)
mysql> alter table testDate modify pdd date not null;
Query OK, 3 rows affected, 1 warning (0.60 sec)
Records: 3 Duplicates: 0 Warnings: 1
你最有可能推串'NULL'
到表,而不是一個實際的NULL
,但其他的事情也可能會發生,例如:
mysql> CREATE TABLE date_test (pdd DATE NOT NULL);
Query OK, 0 rows affected (0.11 sec)
mysql> INSERT INTO date_test VALUES (NULL);
ERROR 1048 (23000): Column 'pdd' cannot be null
mysql> INSERT INTO date_test VALUES ('NULL');
Query OK, 1 row affected, 1 warning (0.05 sec)
mysql> show warnings;
+---------+------+------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------+
| Warning | 1265 | Data truncated for column 'pdd' at row 1 |
+---------+------+------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM date_test;
+------------+
| pdd |
+------------+
| 0000-00-00 |
+------------+
1 row in set (0.00 sec)
mysql> ALTER TABLE date_test MODIFY COLUMN pdd DATE NULL;
Query OK, 1 row affected (0.15 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> INSERT INTO date_test VALUES (NULL);
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM date_test;
+------------+
| pdd |
+------------+
| 0000-00-00 |
| NULL |
+------------+
2 rows in set (0.00 sec)