php - MySQL 使用第二个表中的值更新列

标签 php mysql sql

我想用他们的 ID 替换一个表中的用户名,需要从另一个表中引用它。例如:

我的表 A 看起来像:

ID  |  Key  |  Value
---------------------
1   |  name |  Bob
2   |  name |  Bob
3   |  name |  John

和表 B:

ID  |  Name
--------------
1   |  Bob
2   |  Rick
3   |  John

我试图让表 A 看起来像:

ID  |  Key  |  Value
---------------------
1   |  name |  1
2   |  name |  1
3   |  name |  3

我如何在 MySQL 中构建查询来执行此操作?

最佳答案

一个问题是数据类型。将数字存储为字符串是不明智的。但是,你可以获得你想要的值:

update a join
       b
       on a.value = b.name
    set a.value = b.id;

关于php - MySQL 使用第二个表中的值更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632417/

相关文章:

javascript - 在 Yii 上缓存静态文件

php - FPDF单元格定位

mysql - 如何将数据与选定数据分开

mysql - 一年后触发归档数据

连接MySQL的C++程序

php - 错误 : Could not parse for environment production: Is a directory - with vagrant and puphpet

php - While 循环和提醒表

MySQL 存储过程嵌套游标错误

mysql - 将行重定向到另一行mysql

mysql - SQL:本年度未购买过商品的客户