我要做的是插入一条记录,然后停用具有相同 ID 的先前记录,因为它们将不再使用。但是,我希望以最简单的方式做到这一点。删除记录确实不是一种选择。
尝试的操作顺序:
- 插入带有激活的 inUse 值
inUse = 1
- 为不再使用的同一 ID 更新以下记录:
inUse = 0
我的第一个想法是运行这个查询:
UPDATE page_tags
SET inUse = IF(inUse = 1, 0, 1)
WHERE page_id = 23678459
AND tag_id NOT IN (10, 4);
此查询的唯一问题是,如果再次运行,它会将所有这些停用的值切换回 1。我需要特定 ID 的所有标签仅在它们被 WHERE 语句定位时才切换回。