Ваша проблема в предложении where
- значения NULL
не совпадают <>
или =
.Вы можете сделать:
UPDATE licenses
SET useDate = CURDATE()
WHERE license = 'ABC123' AND
(useDate <> CURDATE() or useDate IS NULL);
Или использовать безопасное для NULL сравнение MySQL:
UPDATE licenses
SET useDate = CURDATE()
WHERE license = 'ABC123' AND
NOT (useDate <=> CURDATE());