Ne burada yapmaya çalışıyorum olduğunu: tablo yapılacaklarıma yılında kayıtları tanımlandığı gibi IF $ sütun recurinterval bir değer daha sonra bu kayıtlar için 6 BAŞKA date_scheduled sütun sadece set status_id sütun sıfırlamak var yapılır.
Bu benim) (mysql_error almak hata ...
Eğer SQL sözdizimi bir hata var; yakınındaki kullanılacak doğru sözdizimi için MySQL sunucu sürümü karşılık '! = 0 OLGU recurinterval VE recurinterval date_sche AYAR SONRA IS NOT NULL' manuel kontrol hattında 2 at
Bunu nasıl ifade çalışmaz hale getirebiliriz?
UPDATE todo
CASE recurinterval != 0 AND recurinterval IS NOT NULL THEN
SET date_scheduled = CASE recurunit
WHEN 'DAY' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval DAY)
WHEN 'WEEK' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval WEEK)
WHEN 'MONTH' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval MONTH)
WHEN 'YEAR' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval YEAR)
END
WHERE todo_id IN ($done)
ELSE
SET status_id = 6 WHERE todo_id IN ($done)
END
Ben yukarıdaki gibi revize önce aşağıdaki mySQL deyimi sadece iyi çalıştı.
UPDATE todo
SET date_scheduled = CASE recurunit
WHEN 'DAY' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval DAY)
WHEN 'WEEK' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval WEEK)
WHEN 'MONTH' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval MONTH)
WHEN 'YEAR' THEN DATE_ADD(date_scheduled, INTERVAL recurinterval YEAR)
END
WHERE todo_id IN ($done)
AND recurinterval != 0
AND recurinterval IS NOT NULL