php - 这个查询有什么问题?我正在尝试根据第二个表中列的值更新列值

标签 php mysql sql-update

因此,我尝试使用表 Natan_Proveedor 中的 Proveedor_Logo 列的值更新表 Natan_Procesos 中的列 Proveedor_Logo 的值 其中表 Natan_Procesos 中的行有一列名为 Producto_Prioridad 且值为 1:

$logo = $db->query( "UPDATE  `quehago`.`Natan_Procesos` 
                     SET  `Proveedor_Logo` =  `Proveedor_Logo` 
                     WHERE  `Natan_Procesos`.`Producto_Prioridad` = 
                     ( SELECT  `Natan_Procesos`.`Producto_Prioridad` =1 )");

没有出现错误,但也没有传递任何值。我错过了什么?

回复更新:

所以我将其更改为:(仍然没有更新)

$logo = $db->query( "UPDATE  `quehago`.`Natan_Procesos` 
                     SET  `Proveedor_Logo` =  `Proveedor_Logo` 
                     WHERE  `Natan_Procesos`.`Producto_Prioridad` = 
                     ( SELECT * FROM `Natan_Procesos` WHERE `Producto_Prioridad` = 1)");

但我仍然认为值应该存储在哪里有些不对劲。我需要将它们存储到表 Natan_Procesos 的 Proveedor_Logo 列中。或者我从哪里获取值(value)?

第二次更新:

两个表都有一个名为 Proveedor_ID 的列,该列可能是要匹配的第二个条件。所以它会读到这样的内容:更新表 Natan_Proveedor 中的列 Proveedor_Logo,其中列 Producto_Prioridad 中的值 = 1 FROM 列 Proveedor_Logo in 表 Natan_Proveedor,其中 Natan_Proveedor 和 Natan_Procesos 在列 Proveedor_ID 中具有相同的值

最佳答案

尝试:

"UPDATE  `quehago`.`Natan_Procesos` 
 SET  `Proveedor_Logo` =  `Proveedor_Logo` 
 WHERE  `Natan_Procesos`.`Producto_Prioridad` = 
   ( SELECT `Natan_Procesos`.`Producto_Prioridad` FROM `Natan_Procesos` WHERE `Producto_Prioridad` = 1 )"
<小时/>

应该是这样的吗?:

`"UPDATE  `quehago`.`Natan_Procesos` 
  SET  `Natan_Procesos`.`Proveedor_Logo` =  ( SELECT   `Natan_Proveedor`.`Proveedor_Logo` FROM `Natan_Proveedor` WHERE ?? = ?? )
  WHERE  `Natan_Procesos`.`Producto_Prioridad` = 1"`
<小时/>

试试这个:

 UPDATE  `quehago`.`Natan_Procesos` 
 INNER JOIN `Natan_Proveedor` ON
    `Natan_Procesos`.`Proveedor_ID` = `Natan_Proveedor`.`Proveedor_ID`
 SET  `Natan_Procesos`.`Proveedor_Logo` =  `Natan_Proveedor`.`Proveedor_Logo` 
 WHERE  `Natan_Procesos`.`Producto_Prioridad` = 1

关于php - 这个查询有什么问题?我正在尝试根据第二个表中列的值更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37329362/

相关文章:

php - 两个网站之间共享 session

java - 在java中查询与在mysql中不同

mysql - 如何从对象动态设置mysql查询中的值?

php - 在 Codeigniter 中更新多行

PostgreSql:无法在 UPDATE 中使用聚合函数

php - 防止在 PHP 中的高级 MySQL 存储过程语句中注入(inject)

php - Laravel 5.4 Passport 日志用户操作(可选 auth :api)

MySQL : update with Where clause in subquery

php - 为什么 PHP 允许从类外部创建类属性?

php - 在输入表单中显示来自不同表的字段