我有一个表,其中有两个日期时间,其中一个是“完成”日期时间,因此,如果它为 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/