Es decir, algo así. En la tablaA, quiero actualizar el campo1 con el valor más nuevo del primary key de la tablaB.
Hasta ahora me he visto la función LAST() y la función LAST_INSERT_ID(), pero parece que solo sirven para retornar valores en select o en having, incluso esta última parece que no me sirve si otra persona (o no se si el manual se refiere a usuario de DB) hace una entrada e incrementa el valor.
Hasta ahora he tratado cosas como estas, desde medio lógicas hasta disparates a ver si me resultan:
Es decir algo así:
Código sql:
Ver original
UPDATE tabla_1 AS t1, tabla_2 AS t2 SET t1.campo1 = t2.campo_primarykey WHERE t1.campo_id = X AND t2.campo_primarykey = MAX (t2.campo_primarykey)
Código sql:
Ver original
UPDATE tabla_1 AS t1 SET t1.campo1 = campo_primarykey WHERE t1.campo_id = X HAVING MAX (tabla_2.campo_primarykey) AS campo_primarykey
Código sql:
Ver original
UPDATE tabla_1 AS t1, tabla_2 AS t2 SET t1.campo1 = last_insert_id(tabla_2.campo_primarykey) WHERE t1.campo_id = X
Usando tanto MAX, como LAST, como LAST_INSERT_ID y nada.
¿alguna idea? ¿es posible lo que busco?
(olvidaba decir que sé que haciendo un select justo antes se acaba el dilema, pero quiero ahorrármelo

2) Lo otro es que quisiera saber si es posible usar INNER JOIN con UPDATEs
Hasta ahora he venido usando cosas así:
Código sql:
Ver original
UPDATE t1 SET t1.campo1 = valor WHERE t1.campo1 = t2.campo1 AND t2.campo2 = t3.campo2 AND t3.campo3 = t4.campo4 AND t4.campo5 = A;
Pero me recuerda mucho a como no deben hacerse los SELECT pudiéndose usar INNER JOINs y ya que vine a preguntar una cuestión de updates aprovecho el viaje para esta duda que siempre he tenido

Gracias adelantadas
