帮忙看下更新字段数据的时候,日期自动变

xiangfeidecainiao 2020-09-16 05:00:14
请看第11条数据
当我更新settledate的数据后或者其他字段的数据,Mysql好像自动给我按当前时间设置了missiondate。
只要是修改了settledate的数据后,我在查看,missiondate的时间就按当前时间设置了。
好长时候没搞程序了,写个练手的小东西看看结果就这样。。。我这是做错了什么,天哪



create table mission(
id int unsigned not null auto_increment primary key,
missionDate timestamp,
k int,
m int,
number int,
notes text,
site int,
settle int,
personId int,
name varchar(16),
settleDate timestamp
);


mysql> select id,missiondate,settledate from mission;
+----+---------------------+---------------------+
| id | missiondate | settledate |
+----+---------------------+---------------------+
| 1 | 2020-09-16 16:39:33 | 2020-09-16 16:38:48 |
| 2 | 2020-09-15 17:39:49 | 2020-09-15 17:39:47 |
| 3 | 2020-09-16 14:03:47 | 2020-09-15 00:00:00 |
| 4 | 2020-09-16 16:41:27 | 2020-09-16 16:40:21 |
| 5 | 2020-09-16 16:43:04 | 2020-09-16 16:40:21 |
| 6 | 2020-09-16 16:32:13 | 2020-09-16 16:32:11 |
| 7 | 2020-09-16 16:31:48 | 2020-09-16 16:31:47 |
| 8 | 2020-09-16 16:37:31 | 2020-09-19 00:00:00 |
| 9 | 2020-09-16 14:00:08 | 2020-09-16 14:00:07 |
| 10 | 2020-09-16 16:40:35 | 2020-09-16 16:40:21 |
| 11 | 2020-09-16 00:00:00 | 0000-00-00 00:00:00 |
+----+---------------------+---------------------+
11 rows in set (0.00 sec)

mysql> update mission set settleDate='2020-09-16 16:40:21.0' where id=11;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select id,missiondate,settledate from mission;
+----+---------------------+---------------------+
| id | missiondate | settledate |
+----+---------------------+---------------------+
| 1 | 2020-09-16 16:39:33 | 2020-09-16 16:38:48 |
| 2 | 2020-09-15 17:39:49 | 2020-09-15 17:39:47 |
| 3 | 2020-09-16 14:03:47 | 2020-09-15 00:00:00 |
| 4 | 2020-09-16 16:41:27 | 2020-09-16 16:40:21 |
| 5 | 2020-09-16 16:43:04 | 2020-09-16 16:40:21 |
| 6 | 2020-09-16 16:32:13 | 2020-09-16 16:32:11 |
| 7 | 2020-09-16 16:31:48 | 2020-09-16 16:31:47 |
| 8 | 2020-09-16 16:37:31 | 2020-09-19 00:00:00 |
| 9 | 2020-09-16 14:00:08 | 2020-09-16 14:00:07 |
| 10 | 2020-09-16 16:40:35 | 2020-09-16 16:40:21 |
| 11 | 2020-09-16 16:45:25 | 2020-09-16 16:40:21 |
+----+---------------------+---------------------+
11 rows in set (0.00 sec)

--------------------------------第二次执行更新-----------------------------------------------------
mysql> update mission set settleDate='2020-09-16 16:40:21.0' where id=11;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> select id,missiondate,settledate from mission;
+----+---------------------+---------------------+
| id | missiondate | settledate |
+----+---------------------+---------------------+
| 1 | 2020-09-16 16:39:33 | 2020-09-16 16:38:48 |
| 2 | 2020-09-15 17:39:49 | 2020-09-15 17:39:47 |
| 3 | 2020-09-16 14:03:47 | 2020-09-15 00:00:00 |
| 4 | 2020-09-16 16:41:27 | 2020-09-16 16:40:21 |
| 5 | 2020-09-16 16:43:04 | 2020-09-16 16:40:21 |
| 6 | 2020-09-16 16:32:13 | 2020-09-16 16:32:11 |
| 7 | 2020-09-16 16:31:48 | 2020-09-16 16:31:47 |
| 8 | 2020-09-16 16:37:31 | 2020-09-19 00:00:00 |
| 9 | 2020-09-16 14:00:08 | 2020-09-16 14:00:07 |
| 10 | 2020-09-16 16:40:35 | 2020-09-16 16:40:21 |
| 11 | 2020-09-16 16:45:25 | 2020-09-16 16:40:21 |
+----+---------------------+---------------------+
11 rows in set (0.00 sec)

--------------------------------第三次执行更新,更改了settledate时间-----------------------------------------------------
mysql> update mission set settleDate='2020-09-16 16:50:21.0' where id=11;
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select id,missiondate,settledate from mission;
+----+---------------------+---------------------+
| id | missiondate | settledate |
+----+---------------------+---------------------+
| 1 | 2020-09-16 16:39:33 | 2020-09-16 16:38:48 |
| 2 | 2020-09-15 17:39:49 | 2020-09-15 17:39:47 |
| 3 | 2020-09-16 14:03:47 | 2020-09-15 00:00:00 |
| 4 | 2020-09-16 16:41:27 | 2020-09-16 16:40:21 |
| 5 | 2020-09-16 16:43:04 | 2020-09-16 16:40:21 |
| 6 | 2020-09-16 16:32:13 | 2020-09-16 16:32:11 |
| 7 | 2020-09-16 16:31:48 | 2020-09-16 16:31:47 |
| 8 | 2020-09-16 16:37:31 | 2020-09-19 00:00:00 |
| 9 | 2020-09-16 14:00:08 | 2020-09-16 14:00:07 |
| 10 | 2020-09-16 16:40:35 | 2020-09-16 16:40:21 |
| 11 | 2020-09-16 16:52:32 | 2020-09-16 16:50:21 |
+----+---------------------+---------------------+
11 rows in set (0.00 sec)

--------------------------------第四次执行更新,更改了personId内容-----------------------------------------------------

mysql> update mission set personId=99999 where id=11;
Query OK, 1 row affected (0.18 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select id,missiondate,settledate from mission;
+----+---------------------+---------------------+
| id | missiondate | settledate |
+----+---------------------+---------------------+
| 1 | 2020-09-16 16:39:33 | 2020-09-16 16:38:48 |
| 2 | 2020-09-15 17:39:49 | 2020-09-15 17:39:47 |
| 3 | 2020-09-16 14:03:47 | 2020-09-15 00:00:00 |
| 4 | 2020-09-16 16:41:27 | 2020-09-16 16:40:21 |
| 5 | 2020-09-16 16:43:04 | 2020-09-16 16:40:21 |
| 6 | 2020-09-16 16:32:13 | 2020-09-16 16:32:11 |
| 7 | 2020-09-16 16:31:48 | 2020-09-16 16:31:47 |
| 8 | 2020-09-16 16:37:31 | 2020-09-19 00:00:00 |
| 9 | 2020-09-16 14:00:08 | 2020-09-16 14:00:07 |
| 10 | 2020-09-16 16:40:35 | 2020-09-16 16:40:21 |
| 11 | 2020-09-16 16:57:08 | 2020-09-16 16:50:21 |
+----+---------------------+---------------------+
11 rows in set (0.00 sec)
...全文
31 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangfeidecainiao 2020-09-16
  • 打赏
  • 举报
回复
原来还要显示申明为空才行。。。。
时间戳还有坑。看来真是老了。
十分感谢。10年没用写代码了。以前没这么麻烦。 我说怎么回事咧。谢谢。谢谢。
中国风 2020-09-16
  • 打赏
  • 举报
回复
参照时间戳用法说明 https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧