I am having trouble trying to set the PDD
(patient death date) to null on PHPMYADMIN until such death date comes; also on the client end then I can check for NULL
data to use it.
Could anyone suggest me a solution, please ?
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 should be null if is alive or death date if died)
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
As the message error says, you need to Increase the length of your column to fit the length of the data you are trying to insert (0000-00-00)
EDIT 1:
Following your comment, I run a test table:
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)
Insertion:
mysql> insert into testDate values(1,'0000-00-00'); Query OK, 1 row affected (0.06 sec)
EDIT 2:
So, aparently you want to insert a NULL value to pdd
field as your comment states ?
You can do that in 2 ways like this:
Method 1:
mysql> insert into testDate values(2,''); Query OK, 1 row affected, 1 warning (0.06 sec)
Method 2:
mysql> insert into testDate values(3,NULL); Query OK, 1 row affected (0.07 sec)
EDIT 3:
You failed to change the default value of pdd
field. Here is the syntax how to do it (in my case, I set it to NULL in the start, now I will change it to 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
Method 2
You are most likely pushing a string 'NULL'
to the table, rather then an actual NULL
, but other things may be going on as well, an illustration:
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)
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0