MySQL更新未更新
select工作并返回1个结果MySQL更新未更新,mysql,Mysql,select工作并返回1个结果 SELECT * FROM `list` WHERE `email` = 'john@doe.com' AND `cid` = 1; 此更新有效,没有错误,没有受影响的记录 UPDATE `list` SET `message` = 'test', `status` = 0 WHERE `email` = 'john@doe.com' AND `cid` = 1; 表结构 CREATE TABLE `list` ( `id` BIGINT(19
SELECT * FROM `list` WHERE `email` = 'john@doe.com' AND `cid` = 1;
此更新有效,没有错误,没有受影响的记录
UPDATE `list`
SET `message` = 'test', `status` = 0
WHERE `email` = 'john@doe.com' AND `cid` = 1;
表结构
CREATE TABLE `list` (
`id` BIGINT(19) NOT NULL AUTO_INCREMENT,
`email` VARCHAR(255) NULL DEFAULT NULL,
`cid` INT(10) NOT NULL DEFAULT '0',
`message` TEXT NULL,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
INDEX `cid` (`cid`),
INDEX `date` (`date`),
INDEX `status` (`status`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
MySQL服务器报告没有记录受到影响,因为即使有一行符合条件,它也不需要更新:它已经有
消息=“test”和状态=0
如果要始终更新日期字段,请尝试此查询:
UPDATE `list`
SET `message` = 'test', `status` = 0, `date`=NOW()
WHERE `email` = 'john@doe.com' AND `cid` = 1;
MySQL服务器报告没有记录受到影响,因为即使有一行符合条件,它也不需要更新:它已经有消息=“test”和状态=0
如果要始终更新日期字段,请尝试此查询:
UPDATE `list`
SET `message` = 'test', `status` = 0, `date`=NOW()
WHERE `email` = 'john@doe.com' AND `cid` = 1;
你能发布表格定义吗<代码>显示创建表列表
此外,是否确实要更改其中一些值?MySQL将分别报告匹配的行数和更改的行数。如果它们是不同的,那么数据就不需要更改。@IliaRostovtsev这是一个MySQL问题,而不是编程问题。这正是直接在MySQL上运行的查询。见答案1。你能发布表格定义吗<代码>显示创建表列表
此外,是否确实要更改其中一些值?MySQL将分别报告匹配的行数和更改的行数。如果它们是不同的,那么数据就不需要更改。@IliaRostovtsev这是一个MySQL问题,而不是编程问题。这正是直接在MySQL上运行的查询。请参阅答案1。好的,好的答案,有意义,让服务器不需要使用额外的资源。有办法吗?我希望TIMSTAMP以任何方式更新日期字段。如果您想更新日期字段,那么它应该是更新查询的一部分。如果我不想提供时间,我希望MySQL这样做。好的,回答很好,很有意义,让服务器不必使用额外资源。有办法吗?我希望TIMSTAMP以任何方式更新日期字段。如果要更新日期字段,则它应该是更新查询的一部分。如果我不希望提供时间,我希望MySQL这样做。