【发布时间】:2014-03-27 05:58:03
【问题描述】:
我有一个表Members,列DayJoin 类型为varchar。如果用户没有为该字段输入值,我想将DayJoin 列的默认值设置为当天。
在 MSSQL Server 中我写了这个语句:
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'
)
语句获取当天的值并将其格式化为 (dd/mm/yyyy)。但是当我在 mySQL 中运行一个类似的,它不工作
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
;
我收到类似这样的回复; “默认值错误”
有谁知道问题出在哪里?
【问题讨论】:
-
试试:
DayJoin TIMESTAMP NULL DEFAULT 'CURRENT_TIMESTAMP', -
可以分享一下错误信息吗?
-
这是我的错误。我使用 Navicat 连接到数据库。抱歉,我没有足够的东西来发布图片。您可以通过链接查看i.upanh.com/viafev 问题1:我已经尝试过约会。 datetime, TIMESTAMP ...但它不起作用。我显示同样的错误... 问题 2:我想将其格式化为 dd/mm/yy 而不是 yyyy/mm/dd 并使用斜杠 (/) 而不是 (-)
标签: php mysql sql sql-server date