作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更新一个表,并且取决于位置和 AND 取决于我要更新的行,所以如果 message_to
和 message_id
匹配更新 message_deleted_to
或如果 message_user
、message_id
匹配它们更新 messaged_deleted_from
我的 table :
CREATE TABLE IF NOT EXISTS `messages` (
`message_id` int(11) NOT NULL,
`message_user` int(11) NOT NULL,
`message_subject` varchar(100) NOT NULL,
`message_body` text NOT NULL,
`message_to` int(11) NOT NULL,
`message_from_read` int(1) NOT NULL DEFAULT '1',
`message_to_read` int(11) NOT NULL DEFAULT '0',
`message_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`message_deleted_from` int(11) NOT NULL DEFAULT '0',
`message_deleted_to` int(11) NOT NULL,
`message_permdeleted` int(11) NOT NULL DEFAULT '0',
`message_type` varchar(11) NOT NULL,
`message_deleted` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `messages`
--
INSERT INTO `messages` (`message_id`, `message_user`, `message_subject`, `message_body`, `message_to`, `message_from_read`, `message_to_read`, `message_date`, `message_deleted_from`, `message_deleted_to`, `message_permdeleted`, `message_type`, `message_deleted`) VALUES
(6, 12, 'lol', 'lol', 1, 1, 0, '2015-12-14 04:54:32', 0, 0, 0, 'sent', 0),
我想完成的事情(我知道这段代码行不通,我只是想告诉你我想做什么)
UPDATE messages
SET message_deleted_from = 1
WHERE message_user = ?
AND message_id = ?
OR SET messages_delete_to = 1
WHERE message_to
AND message_id = ?
最佳答案
你可以试试这个:
UPDATE messages
SET message_deleted_from =
CASE WHEN message_user = ?
AND message_id = ? THEN 1 ELSE message_deleted_from END,
messages_delete_to =
CASE WHEN message_to=?
AND message_id = ? THEN 1 ELSE messages_delete_to END
关于mysql - 如何根据 WHERE 和 AND 更新 2 个不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951482/
我是一名优秀的程序员,十分优秀!