2014-12-24 4 views
2

Мне нужно добавить 40 дней в столбец, который содержит дату в формате d-m-y, и вставить результат в новый столбец. напримерДобавление столбцов дней до даты и результат в новом столбце?

$querydate="UPDATE services SET paymentdue_date=payment_date+30 DAY WHERE my condition "; 

и я попытался

$querydate="SELECT up_id=".$up_id.",DATE_ADD(payment_date,INTERVAL 30 DAY) AS paymentdue_date FROM  up_services"; 

структуры Колонка для PAYMENT_DATE и paymentdue_date является varchar10 utf8_unicode_ci какие-либо предложения?

+0

MySQL 5.1.7 ..... –

+0

ли вы установили 'payment_date' и' 'paymentdue_date' в VARCHAR (11) '? Попробуйте 'DATETIME' – jsxqf

+0

его varchar 10 сейчас, nd работа для текущей даты –

ответ

0

Я попытался запустить этот запрос, и он работал на меня, обновил свою колонку с новым :)

$querydate="UPDATE up_services SET paymentdue_date=DATE_ADD(payment_date,INTERVAL 30 DAY) WHERE my condition "; 
1

правильный запрос будет

$querydate="SELECT up_id,DATE_ADD(payment_date,INTERVAL 30 DAY) AS paymentdue_date FROM up_services where up_id='$up_id'"; 

вы не можете добавить в сравнение выбора как up_id=".$up_id." использования там, где вместо

если вы хотите запрос на обновление вы можете следить за @saharsh Shah ответ

+0

спасибо, но это не помогло мне, –

+0

Я пробовал это $ querydate = "SELECT up_id, DATE_ADD (payment_date, INTERVAL 30 DAY) AS paymentdue_date FROM up_services где up_id = '$ up_id'"; @RakeshSharma –

+0

, что вы имеете в виду, не работает эхо запроса проходят через PHPMyAdmin –

0

Попробуйте следующее:

UPDATE services 
SET paymentdue_date = DATE_ADD(STR_TO_DATE(payment_date, '%e-%c-%y'), INTERVAL 30 DAY) 
WHERE my condition 
+0

я попробовал этот $ querydate = "UPDATE up_services SET paymentdue_date = DATE_ADD (STR_TO_DATE (payment_date, '% e-% c-% y'), INTERVAL 30 DAY) ГДЕ up_id =». $ up_id ""; nd dint work –

+0

@@ VERSION 5.1.73 –

+0

да ..... это –