Я пытаюсь обновить базу данных MySQL, но только если поле имеет значение Approved
.Обновить поле, если другое поле имеет определенное значение
Если status
является Approved
, то Date approved
следует обновить с указанием даты.
Ниже приведен код, который я использую в настоящее время, но не могу заставить его работать. Как заставить его работать?
UPDATE my_table
SET `FieldValue`= IF(FieldName='status' AND FieldValue='Approved','".date('m/d/Y')."','')
WHERE `SubmissionId`=".$SubmissionId."
AND FieldName='Date Approved'
Примеры данных
+--------+--------------+---------------+--------------+
| FormId | SubmissionId | FieldName | FieldValue |
+--------+--------------+---------------+--------------+
| 6 | 778 | status | Not Approved |
| 6 | 778 | Date Approved | |
+--------+--------------+---------------+--------------+
так, вы хотите сделать это по sql-запросу? вы также можете сделать это программным способом. –
Как мне это сделать? – Munk
прежде всего создайте функцию для проверки, где 'submissionId = $ submissionId', и если' status' является 'approved', тогда верните true, и если эта функция вернет true, обновите поле dateApproved. –