Es la primera vez que intento actualizar los datos del complemento en la base de datos de wordpress. Estoy usando el complemento Advanced CF7 DB para almacenar datos del formulario de contacto 7. Para actualizar la columna, no sé si se requiere pivotar o si hay alguna otra forma de lograrlo. He buscado pero encontrado dos tablas usando pivote. Quiero actualizar los datos en la misma tabla, solo las columnas están en filas. No se como hacer esto. Los datos se almacenan en el siguiente formato:
| id | cf7_id | data_id | name | value +----+--------+---------+-----------------+------------------ | 9 | 4561 | 2 | uid | 60eabb2c20021 | 10 | 4561 | 2 | emailId | axxxxx@gmail.com | 11 | 4561 | 2 | clicked_on_link | No | 12 | 4561 | 2 | orderNos | Miscommunication | 13 | 4561 | 2 | submission_id | 177 +----+--------+---------+-----------------+------------------Quiero actualizar la columna clicked_on_link= Yes donde uid= 60eabb2c20021. uid se pasará desde el parámetro url.
| 11 | 4561 | 2 | clicked_on_link | YesQuiero esta consulta en formato php-sql para poder incluirla en el código. Intenté seguir la consulta que sé que es incorrecta, pero al menos lo intenté:
update wp_cf7_vdata_entry as b1, (select data_id,MAX(CASE WHEN name='uid' THEN value ELSE NULL END) AS uid, MAX(CASE WHEN name='email_id' THEN value ELSE NULL END) AS email_id, MAX(CASE WHEN name='clicked_on_link' THEN value ELSE NULL END) AS clicked_on_link from wp_cf7_vdata_entry group by data_id) as b2 set b2.clicked_on_link='Yes' where b1.data_id=b2.data_id and b2.uid=60ea1e95190ee;Puedes usar join :
update wp_cf7_vdata_entry e join wp_cf7_vdata_entry e2 on e.data_id = e2.data_id set e2.value = 'yes' where e.name = 'uid' and e.value = '60eabb2c20021' and e2.name = 'clicked_on_link'; Nota: no estoy seguro de si cf7_id es relevante para la condición de unión, pero su código solo usa data_id .