首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询更新更新列表中未提及的时间戳列

问查询更新更新列表中未提及的时间戳列
EN

Stack Overflow用户
提问于 2017-05-30 13:13:33
回答 2查看 62关注 0票数 1

我只想更新数据库中的一列,但出于某种原因,我的mysql查询也更新了另一列。

我的代码看起来有点像这样:

代码语言:javascript
复制
$sql = "UPDATE rackusage set totalDuration =".$timeDiff." where (rackID = '".$rackID."' and startTime LIKE '%".$getStartTime."%');";
            echo "<br>";
            echo $sql;
            echo "<br>";
            $res = mysql_query($sql);

它在php里。我只想更新总持续时间列,但出于某种原因,startTime列也会得到更新。输出字符串如下所示:

代码语言:javascript
复制
UPDATE rackusage set totalDuration =30 where (rackID = '2' and startTime 
LIKE '%2017-05-30 18:34:36%');

这是得到的数据库:

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 13:22:04

您的startTime列似乎是用这样的内容定义的。

代码语言:javascript
复制
startTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

将UPDATE查询更改为包含SET startTime = startTime,您将击败默认的ON UPDATE部分。像这样的东西应该能起作用。

代码语言:javascript
复制
UPDATE rackusage set  startTime = startTime, totalDuration =".$timeDiff."  ...
票数 1
EN

Stack Overflow用户

发布于 2017-05-30 13:26:26

如果O.Jones是正确的,并且不希望更新列statTime的值,则可以在数据库中处理以下语句:

代码语言:javascript
复制
ALTER TABLE rackusage 
CHANGE `startTime` `startTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44263302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档