相关疑难解决方法(0)

如何为MySQL Datetime列设置默认值?

如何为MySQL Datetime列设置默认值?

在SQL Server中它是getdate().什么是MySQL的等价物?如果这是一个因素,我正在使用MySQL 5.x.

mysql datetime

851
推荐指数
19
解决办法
121万
查看次数

将NOW()设置为datetime数据类型的默认值?

我在表用户中有两列,registerDate and lastVisitDate它们包含日期时间数据类型.我想做以下几点.

  1. 将registerDate默认值设置为MySQL NOW()
  2. 将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()吗?

mysql sql datetime mysql-error-1067

190
推荐指数
5
解决办法
44万
查看次数

使用CURDATE()作为默认值时,在mysql中创建表失败

我正在尝试使用phpmyadmin sql console创建下表:

CREATE TABLE dates
(
id int NOT NULL,
id_date datetime NOT NULL DEFAULT CURDATE(),
PRIMARY KEY (id)
)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误: 替代文字

它以红色显示"CURDATE()",所以我猜这就是问题所在.

谁能帮到我这里?

mysql phpmyadmin

17
推荐指数
1
解决办法
2万
查看次数

MySQL CURRENT_TIMESTAMP为DEFAULT

在创建表时,我收到以下错误:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Run Code Online (Sandbox Code Playgroud)

问题是,我实际上没有两列TIMESTAMPCURRENT_TIMESTAMP为默认值,无论我使用ON UPDATE条款.

我正在尝试执行的DDL查询是

CREATE TABLE user(
    /* Basic Information */
    id INT NOT NULL AUTO_INCREMENT,
    firstname VARCHAR(255) NOT NULL,
    surname VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE,
    username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,

    /* System status information */
    active BOOL NOT NULL DEFAULT FALSE,
    validated BOOL NOT NULL …
Run Code Online (Sandbox Code Playgroud)

mysql

15
推荐指数
2
解决办法
5万
查看次数

标签 统计

mysql ×4

datetime ×2

mysql-error-1067 ×1

phpmyadmin ×1

sql ×1