2014-11-22 87 views
6

我有麻煩試圖設置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 

回答

3

(如果是,如果死了活着還是死亡日期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 
2

你最有可能推'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) 
相關問題