我需要在CURRENT_DATE()列上使用默认值创建mysql表
我尝试
DROP TABLE IF EXISTS `visitors`;
CREATE TABLE `visitors` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(32) NOT NULL,
`browser` VARCHAR(500) NOT NULL,
`version` VARCHAR(500) NOT NULL,
`platform` ENUM('w','l','m') NOT NULL,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_DATE(),
PRIMARY KEY (`id`),
UNIQUE KEY `person` (`ip`,`date`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
但它写一个错误
Query: CREATE TABLE `visitors` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `ip` VARCHAR(32) NOT NULL, `browser` VARCHAR(500) NO...
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_DATE() NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `person` (`ip`,`date`)
) ENGINE=INNODB AUTO_INCREMENT=1' at line 7
Execution Time : 0 sec
Transfer Time : 0 sec
Total Time : 0.063 sec
问题是什么?
我只需要唯一日期而不需要全职信息…
你能帮助我吗?
使用 CURRENT_TIMESTAMP 函数而不是 CURRENT_DATE() 函数
试试这个:
DROP TABLE IF EXISTS `visitors`;
CREATE TABLE `visitors` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(32) NOT NULL,
`browser` VARCHAR(500) NOT NULL,
`version` VARCHAR(500) NOT NULL,
`platform` ENUM('w','l','m') NOT NULL,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `person` (`ip`,`date`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
我希望使用Laravel模式构建器/迁移在UPDATE CURRENT_TIMESTAMP上创建一个时间戳列,其默认值为
错误1067(42000):“updated”的默认值无效 我想这是因为的精度只有秒。 如何将当前时间设置为具有小数部分的的默认值?
我有一张有数千行的桌子。由于表最初不是在列处使用created_构造的,因此无法获取它们的创建时间戳。不过,开始获取未来行的时间戳是至关重要的。 有没有一种方法可以添加一个带有默认值NOW()的timestamp列,这样它就不会将值填充到以前的行中,而只填充到将来的行中? 如果我执行查询,它将用时间戳填充所有行:
我的mysql版本是5.5.41-0Ubuntu0.14.04.1(Ubuntu)
我正在尝试生成一个分辨率为微秒的时间戳。我试着用这个答案提取年/月/日等,来自C++中的std::chrono::time_point,还有这个:C++11实际系统时间(毫秒),但我不确定这样做是否正确: 该代码的输出为: 324760155[2019-09-15 10:09:13.324.324760][2019-09-15 10:09:13.324.324760]
问题内容: 对于某些Hibernate实体,我们需要存储其创建时间和上次更新时间。你将如何设计? 你将在数据库中使用什么数据类型(假设使用MySQL,可能与JVM时区不同)?数据类型是否支持时区? 你会在Java中使用什么数据类型(Date,Calendar,long,…)? 你将由谁负责设置时间戳(数据库,ORM框架(hibernate)或应用程序程序员)? 你将使用哪些注释进行映射(例如@Te