如何为MySQL Datetime列设置默认值?
在SQL Server中它是getdate()
.什么是MySQL的等价物?如果这是一个因素,我正在使用MySQL 5.x.
我在表用户中有两列,registerDate and lastVisitDate
它们包含日期时间数据类型.我想做以下几点.
0000-00-00 00:00:00
使用的null而不是null.因为表已经存在并且有现有记录,所以我想使用Modify表.我尝试过使用下面的两段代码,但都不行.
ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW()
ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)
它给了我错误: ERROR 1067 (42000): Invalid default value for 'registerDate'
我可以在MySQL中将默认日期时间值设置为NOW()吗?
我有以下sql create语句
mysql> CREATE TABLE IF NOT EXISTS `erp`.`je_menus` (
-> `id` INT(11) NOT NULL AUTO_INCREMENT ,
-> `name` VARCHAR(100) NOT NULL ,
-> `description` VARCHAR(255) NOT NULL ,
-> `live_start_date` DATETIME NULL DEFAULT NULL ,
-> `live_end_date` DATETIME NULL DEFAULT NULL ,
-> `notes` VARCHAR(255) NULL ,
-> `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
-> `created_by` INT(11) NOT NULL ,
-> `update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
-> `updated_by` INT(11) NOT NULL ,
-> `status` VARCHAR(45) NOT …
Run Code Online (Sandbox Code Playgroud) 我想在mysql(而不是时间戳)中将日期设置为日期的默认值,但会出现以下错误
ALTER TABLE `RMS`.`transactionentry`
CHANGE `Date` `Date` DATE DEFAULT NOW() NOT NULL
Run Code Online (Sandbox Code Playgroud)
错误
Invalid default value for 'Date'
Run Code Online (Sandbox Code Playgroud)
同样的情况
alter table `RMS`.`transactionentry`
change `Date` `Date` date default 'CURRENT_DATE' NOT NULL
Run Code Online (Sandbox Code Playgroud)