mysql - 更新查询不起作用 - mysql

标签 mysql

以下是我的表结构:

+------+----------+
| product   | seq |
+------+----------+
|    a      | 1   |
|    b      | 1   |
|    a      | 2   |
|    a      | 3   |
|    b      | 2   |
+------+----------+

如果我的输入是 a2 那么,我需要更改序列号,输出将是

+------+----------+
| product   | seq |
+------+----------+
|    a      | 2   |
|    b      | 1   |
|    a      | 1   |
|    a      | 3   |
|    b      | 2   |
+------+----------+

我使用的逻辑为:

update mytable SET seq=if(seq=2,1,2), seq=if(seq=1,2,1) where product='a'

但它不会对表进行任何更改

最佳答案

尝试这样

UPDATE table1 s1 , table1 s2 SET s1.seq=s2.seq, 
s2.seq=s1.seq WHERE s1.seq=2 and s2.seq=1 and
s1.product='a' and s2.product='a';

关于mysql - 更新查询不起作用 - mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144965/

相关文章:

mysql - 我们如何将 PostgreSQL 表的数据转换为热图数据?

mysql - 在 JOIN 查询上使用 ORDER BY 进行排序

mysql - 如何在数据库中存储 8000 亿个 GPS 标记

mysql - 计算 mysql 表中的模式

php - PHP Mysql CASE每日销售报告

php - 技能依赖的Mysql技术

php - 60万用户的GPS表

php - 不工作要求

php - 使用 CakePHP 批量导入 CSV 文件

mysql - SQL 功能错误