如何在mySQL中将当前日期设置为默认日期

I have a table Members with column DayJoin of type varchar. I want to set default value of the column DayJoin should be the current day if user does not enter a value for that field.

In MSSQL Server I wrote this statement:

CREATE TABLE Members
(
ID int identity (1,1) primary key,
Email varchar(50),
Password Varchar(50),
Role Varchar(50) default 'Member',
DayJoin varchar(50) DEFAULT Convert(varchar, GETDATE(),103),
LastLogin varchar(50)DEFAULT Convert(varchar, GETDATE(),103),
FName varchar(50),
LName varchar(50),
Phone varchar(50),
DOB varchar(50),
Gender varchar(50),
IDcard varchar(50),
Address varchar(50),
City varchar(50),
Job varchar(50),
Avatar varchar(50) default 'images/noavatar.gif'
)

The statement gets the value of the current day and formats it as (dd/mm/yyyy). But when I run a similar one in mySQL, it's not working

CREATE TABLE `NewTable` (
`ID`  int UNSIGNED NULL AUTO_INCREMENT ,
`Email`  varchar(50) NULL ,
`Password`  varchar(50) NULL DEFAULT '' ,
`Role`  varchar(10) NULL ,
`DayJoin`  varchar(10) NULL DEFAULT 'CURRENT_TIMESTAMP' ,
`LastLogin`  varchar(10) NULL DEFAULT 'date_format(now(),%Y/%m/%d)' ,
`Firstname`  varchar(50) NULL ,
`Lastname`  varchar(50) NULL ,
`Phone`  varchar(20) NULL ,
`DOB`  varchar(10) NULL ,
`Gender`  varchar(20) NULL ,
`IDcard`  varchar(20) NULL ,
`Address`  varchar(50) NULL ,
`City`  varchar(50) NULL ,
`Job`  varchar(50) NULL ,
`Avatar`  varchar(50) NULL DEFAULT 'images/noavatar.gif' ,
PRIMARY KEY (`ID`)
)
ENGINE=ARCHIVE
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_unicode_ci
;

I get a response saying something like; "default value in error"

Does anyone know what the problem is?

remove the quotes around 'CURRENT_TIMESTAMP' in your code and use TIMESTAMP data type. It should read like:

`DayJoin`  TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

Use DATETIME type instead:

`DayJoin` DATETIME DEFAULT CURRENT_TIMESTAMP

It will give error as "Invalid default value for 'DayJoin' "

Use datetime or timestamp datatype for 'DayJoin'

`DayJoin`  TimeStamp NULL DEFAULT 'CURRENT_TIMESTAMP' ,

Try this change your DayJoin datatype

`DayJoin` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

or

`DayJoin`  TimeStamp NULL DEFAULT CURRENT_TIMESTAMP