ProAnswers.org

How to set a default value for a MySQL Datetime column in MySQL?

How do you set a default value for a MySQL Datetime column?
In SQL Server it’s getdate(), what is the equivalant for MySQL? I’m using 5.x if that is a factor.

You can't do that with datetime...



but you can do it with timestamp




	
		
			mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP); 
			Query OK, 0 rows affected (0.00 sec) 
			 
			mysql> desc test; 
			+-------+-------------+------+-----+-------------------+-------+ 
			| Field | Type        | Null | Key | Default           | Extra | 
			+-------+-------------+------+-----+-------------------+-------+ 
			| str   | varchar(32) | YES  |     | NULL              |       |  
			| ts    | timestamp   | NO   |     | CURRENT_TIMESTAMP |       |  
			+-------+-------------+------+-----+-------------------+-------+ 
			2 rows in set (0.00 sec) 
			 
			mysql> insert into test (str) values ("demo"); 
			Query OK, 1 row affected (0.00 sec) 
			 
			mysql> select * from test; 
			+------+---------------------+ 
			| str  | ts                  | 
			+------+---------------------+ 
			| demo | 2008-10-03 22:59:52 |  
			+------+---------------------+ 
			1 row in set (0.00 sec) 
			 
			mysql>