Вместо null в таблицу вставляется 0000:00:00
Всем добрый вечер,
Я с помощью php вставляю в БД данные, вот таким образом :
INSERT INTO TarificationLogs(serviceID, msisdn, msisdnType, currentStatus, datetimeStarted, datetimeTrialEnded, datetimeStoped, datePaidUntil, datetimeLastCharge, datetimeLastSuccessCharge, langID, isSubscribedAtOperatorSide, url, response) VALUES('100','37433555425','UNKNOWN','SUSPEND','2021-02-18 13:54:49','NULL','NULL','2022-03-12','2021-08-19 13:15:13','2021-07-23 00:59:58','','0','test','NULL')
И в БД всё выгдлядит так :
Как сделать так что-бы вместо 0000:00:00 был null?
И да, изменить запрос не получится, так как мы не знаем какая именно значение null а какая нет.
Вот структура БД
Ответы (1 шт):
Автор решения: O'tkir Xo'jayev
→ Ссылка
у меня есть несколько идей
COALESCE(col,'0000:00:00') - принимает первое ненулевое значение
create triger - проверить нулевой столбец при вставке
INSERT INTO TarificationLogs(serviceID, msisdn, msisdnType, currentStatus, datetimeStarted, datetimeTrialEnded, datetimeStoped, datePaidUntil, datetimeLastCharge, datetimeLastSuccessCharge, langID, isSubscribedAtOperatorSide, url, response) VALUES('100','37433555425','UNKNOWN','SUSPEND','2021-02-18 13:54:49','NULL','NULL','2022-03-12','2021-08-19 13:15:13','2021-07-23 00:59:58','','0','test',COALESCE('NULL','0000:00:00'))
будет задано значение по умолчанию, но, к сожалению, оно получит нулевое значение.

