使用MySQL更新个人资料图片的有效方法

时间:2015-06-24 03:25:39

标签: mysql

我有一个类似下面的表来存储图像。当图像是活动的配置文件图像时,配置文件设置为1.但是我需要将其余部分设置为0,这样只有一个图像的profile = 1,而其余图像为0。

DROP TABLE IF EXISTS image;
CREATE TABLE IF NOT EXISTS image (
    id              INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name            VARCHAR(255) NOT NULL,
    width           INT(5) UNSIGNED NOT NULL,
    height          INT(5) UNSIGNED NOT NULL,
    extension       VARCHAR(10) NOT NULL,
    created         INT(11) UNSIGNED NOT NULL,
    user_id         INT(11) UNSIGNED NOT NULL,
    profile         INT(1) NOT NULL DEFAULT 0,
    deleted         INT(1) NOT NULL DEFAULT 0
) CHARACTER SET utf8;
ALTER TABLE image ADD INDEX (user_id);

我有没有一种有效的方法来实现这一目标?或者我是否需要执行2个查询并首先将所有图像设置为属于某个用户的profile = 0,然后将特定图像设置为具有该特定ID的profile = 1?

UPDATE image SET profile = 0 WHERE user_id = 1;
UPDATE image SET profile = 1 WHERE id = 9;

或者有更好的方法吗?

0 个答案:

没有答案