sql - mysql 如何不更新日期时间?

标签 sql mysql

我有一个表,其中有两个日期时间,其中一个是“完成”日期时间,因此,如果它为 NULL,则用户尚未完成。

我正在尝试更新,更新他们的手机号码。

我该怎么做才能不更新日期时间?

目前,如果日期时间为空,它会被设置为尽可能早的时间。

这是我的查询:

mysql_query("UPDATE action_4_members
                SET `mobile` = '{$mobile}', 
                    `additional_txt` = '{$additional}', 
                    `misc_data` = '{$store_id}' 
              WHERE `id` = '{$member_id}'") or die(mysql_error());

这是我的表格定义:

CREATE TABLE `action_4_members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `campaign_id` int(11) DEFAULT NULL,
  `mobile` varchar(25) DEFAULT NULL,
  `join_txt` varchar(160) DEFAULT NULL,
  `join_txt_date` datetime DEFAULT NULL,
  `additional_txt` varchar(160) DEFAULT NULL,
  `additional_txt_date` datetime DEFAULT NULL,
  `misc_data` text,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=687 DEFAULT CHARSET=latin1

最佳答案

UPDATE 语句只会影响您指定的列(有一个警告):

UPDATE YOUR_TABLE
   SET mobile_number = '123-456-7890'

需要注意的是,如果您在日期时间列上设置了 DEFAULT ON UPDATE TIMESTAMP 约束,则日期时间列值将更新为运行 UPDATE 语句的时间。如果您不想这样做,则需要更正日期时间列上的 DEFAULT 约束。

关于sql - mysql 如何不更新日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553158/

相关文章:

java - 在这种特殊情况下,我们应该使用 Java 代码来选择数据还是使用存储过程?

mysql - Ruby on Rails "Undefined method ' 编码'"同时使用 mysql 保存到 blob/二进制列

php - 外键与 SET 数据类型 MySQL

php - 使用 Docker 工具箱 MySQL 连接超时

mysql - 在 MySQL 查询中将时间戳转换为日期

sql - oracle插入很慢

sql - 包含开始日期和结束日期的团体价格

mysql - 匹配 MySQL 中的正则表达式以查找一列中的重复单词

php - 代码在本地运行,但在服务器上不运行

php - 根据打卡、下类、午餐计算出加类时间