我遇到了类似的查询
INSERT INTO mytable (id, Created, Updated) VALUES (null, NOW(), NOW())
Run Code Online (Sandbox Code Playgroud)
有列定义
| Created | datetime |
| Updated | datetime |
Run Code Online (Sandbox Code Playgroud)
在这种情况下,MySQL 是否会将 NOW() 值设置为当前时间并向两个调用返回相同的值,或者该查询是否会运行(不太可能)风险,即 Created 和 Updated 的时间略有不同?
注意:我无法更改字段类型。
MariaDB 版本和 MySQL 版本之间是否有任何等效项?
显然这两个 DBMS 是不同的,但我希望 MariaDB 团队在启动新的主要版本(如 10.2、10.3...)时能够“赶上”MySQL。
等价于
在此 MariaDB 页面上列出了所有 MariaDB 版本。有没有办法知道每个主要版本哪个 MySQL 版本最接近?
我想知道如何确定ALTER TABLE...
对给定表进行的最后一次更改 ( ) 是什么时候。
有一个旧答案可用,但不幸的是它不适用于 InnoDB 表。
看看frm
文件日期时间,这行得通吗?
-rw-r----- 1 mysql mysql 18622 Oct 24 21:07 mysql/data/mydb/mytable.frm
-rw-r----- 1 mysql mysql 2114688 Oct 28 06:26 mysql/data/mydb/mytable.ibd
Run Code Online (Sandbox Code Playgroud)
Oct 24 21:07
似乎大致对应于上次执行结构更改的时间。
那是可靠的信息吗?
该updated
列创建为
| updated | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
Run Code Online (Sandbox Code Playgroud)
一个简单的SELECT
给出
+---------------------+
| updated |
+---------------------+
| 2021-12-25 00:15:47 |
+---------------------+
Run Code Online (Sandbox Code Playgroud)
不幸的是,updated
没有被创建为timestamp(3)
.
有什么方法可以从中提取更高的准确性吗updated
?(MySQL 是否存储比秒更高的精度,即使它只显示秒?)
mysql ×3
datetime ×2
alter-table ×1
innodb ×1
mariadb ×1
mariadb-10.2 ×1
mysql-5.7 ×1
query ×1
timestamp ×1