php - 在重复 key 更新时使用 INSERT INTO VALUES

标签 php mysql insert where-clause

我正在尝试以下查询,它只是没有将任何值存储到表中。

列 Tienda 设置为唯一。 pk为Codigo,查询为:

$asignaciones = $db->query("
INSERT INTO  `Asignaciones` (
    `Codigo` , `Tienda` , `Apertura` , `Cierre_20_00` , `Cierre_20_30` , `Cierre_21_00` , `Sanitarios` , `Barrer_Mat` , `Barrer_Vesp` , `Trapear_Mat` , `Trapear_Vesp` , `Limpiar_Ventanales_y_Vitrinas` , `Fecha` , `Encargada` , `Supervisora` )
VALUES (NULL ,  '$Tienda',  '$Apertura',  '$Cierre_20_00',  '$Cierre_20_30',  '$Cierre_21_00',  '$Sanitarios',  '$Barrer_Mat',  '$Barrer_Vesp',  '$Trapear_Mat',  '$Trapear_Vesp',  '$Limpiar_Ventanales_y_Vitrinas',  '$Fecha',  '$Encargada', '$Supervisora' 
WHERE Tienda = '$MiTienda') 

ON DUPLICATE KEY UPDATE `Apertura`= '$Apertura', `Cierre_20_00` = '$Cierre_20_00', `Cierre_20_30` ='$Cierre_20_30', `Cierre_21_00`= '$Cierre_21_00', `Sanitarios` ='$Sanitarios', `Barrer_Mat`= '$Barrer_Mat', `Barrer_Vesp`='$Barrer_Vesp' , `Trapear_Mat`='$Trapear_Mat' , `Trapear_Vesp` ='$Trapear_Vesp', `Limpiar_Ventanales_y_Vitrinas`='$Limpiar_Ventanales_y_Vitrinas' , `Fecha`= '$Fecha', `Encargada`='$Encargada' , `Supervisora`= '$Supervisora'");

当前行值为:

Codigo|Tienda|Apertura|Cierre_20_00|Cierre_20_30|Cierre_21_00|Sanitarios|Barrer_Mat|Barrer_Vesp|Trapear_Mat|Trapear_Vesp|Limpiar_Ventanales_y_Vitrinas|Fecha         |Encargada|Supervisora
2     |1010  |  0     | 0          |    0       |   0        |  0       |   0      |    0      |    0      |    0       |   0                         | 0000-00-00   |  0      |    0

我的查询有什么问题? $MiTienda = 1010 。我通过将所有其他值添加到 4 并将日期与今天的日期进行测试,但它没有更新。我想知道是否应该删除代码栏并进行Tienda PK?

最佳答案

所以事实证明我的变量没有从上一页的表单中推送过来。这就是为什么它什么也没存储。我用了 print_r($_SESSION);在带有上述查询的页面中进行查找。

关于php - 在重复 key 更新时使用 INSERT INTO VALUES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079866/

相关文章:

php - 循环查询结果

mysql - 一个月内可用预约空档的 SQL 查询

mysql - 将列插入表中,使用现有列值作为现有行的默认值

sql-server - 使用来自多个表的数据的 SQL 插入

javascript - jquery使textarea将内容转换为html形式

php - 字符类中的单词

PHPMYadmin 表迁移

php - 统计某表的记录并显示结果

php - #1054 - 'domain.com' 中的未知列 'field list'

php - 将带有ajax的数组传递给php文件