2014-12-24 10 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沙阿答案

+0

谢谢,但这没有为我工作, –

+0

我试过这 $ querydate =“SELECT up_id,DATE_ADD(payment_date,INTERVAL 30 DAY)AS paymentdue_date FROM up_services where 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) WHERE up_id =” $ up_id。 “”; nd dint work –

+0

@@ VERSION 5.1.73 –

+0

yes ..... it is –