Mysql 只更新具有唯一字段值的记录 - 如何?

标签 mysql

假设我有一个 mysql 表:

ID, Name, Number
1, abc, 0
2, def, 0
3, def, 0
4, ghi, 0

我现在想在字段“名称”的值只出现一次的所有记录中更改字段“编号”的值(假设为 1)(在本例中为记录 1 和记录 4)。我如何在 mysql 中以最简单的方式做到这一点?

我是一个 mysql 初学者,已经用 google 搜索了很多这个问题,但没有找到解决方案 - 至少没有一个简单到足以让我理解的解决方案。

最佳答案

它很简单,请尝试使用 mysql

update  [tablename] set number=1 
where id in (select id 
  from [tablename] 
  group by name 
  having count()=1) ) 

我的语法可能有点不对,你可以试试看。 嵌套查询将解决这个问题,您将能够无缝地获得结果

祝你好运 如果您需要任何帮助,请告诉我,我会写下确切的查询并给您。

关于Mysql 只更新具有唯一字段值的记录 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371063/

相关文章:

mysql - 从 sql 数据库中选择不同语言的条目的最新版本

mysql - 使用 REGEX 重新格式化字符串

mysql - 通过不给出正确的输出作为减号 (-) 大于加号 (+) 的 ascii 值来排序

MySQL (InnoDB) : need to delete column, 和附带的外键约束和索引

MySQL FULLTEXT 加重

java mysql select函数总是返回0

MySQL 将数据库+表字符集和排序规则从 UTF8 更改为 UTF8mb4

php - 如果变量并不总是有值,如何查询数据库

PHP MySQL 搜索 3 个表中的 3 个字段

通过减小索引大小来提高 MySQL 性能?