I assume the INSERT statement you have suggested goes on the webpage that has the form from which the new record will be created, Is that correct?

Thanks.

Mat


On Saturday, February 7, 2004, at 02:24 PM, Roger Baklund wrote:


* Matthew Stuart
I am trying to get MySQL to automatically create a date seven days from
the date a new record is created. The new records will be inserted
through an ASP, VBScript website. I have managed to get this to work in
MS Access by typing in to its default field in the database Now()+7. As
you would expect, it gives me a date 7 days from now.


I have tried the same with MySQL and it keeps throwing the default I
type out and replacing it with 0000-00-00 00:00:00

You can't use a function as a default value in mysql. The special data type
TIMESTAMP will use NOW() as a default value, but you can't use NOW()+7 or
any other expression involving a function as a default value.


What you need to do is include your expression in the INSERT statement:

INSERT mytable SET mycol1="something",starttime=NOW(),endtime=NOW()+7;

Now, this will set the endtime 7 _seconds_ into the future. If you want it
to be 7 _days_, you could use something like this:


INSERT mytable SET mycol1="something",starttime=NOW(),
  endtime=NOW()+INTERVAL 7 DAY;

...or for older versions, before release 3.23.4 (28 Sep 1999):

INSERT mytable SET mycol1="something",starttime=NOW(),
  endtime=DATE_ADD(NOW(),INTERVAL 7 DAY);

<URL: http://www.mysql.com/doc/en/DATETIME.html >
<URL: http://www.mysql.com/doc/en/Date_and_time_functions.html >

--
Roger




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to