Mysql
 sql >> Database >  >> RDS >> Mysql

come gestire l'aggiornamento della query MySQL in questo modo

Viene visualizzato questo errore, perché stai tentando di aggiornare lo screening table e allo stesso tempo ottenere gli ID da quella stessa tabella (unita a users ). La soluzione alternativa è utilizzare una sottoquery, in quanto tale:

UPDATE screening
   SET maileddate = date('Y-m-d', strtotime($mailed_date[$screeningId]))
 WHERE user_id IN (  
                    select s.id
                      from (

                        SELECT users.id
                          FROM users
                         INNER JOIN screening ON 
                                        users.id = screening.users_id
                                AND screening.id = {$screeningId}
                    ) as s)
   AND date BETWEEN 05-15/2011 AND 11-15-2011
LIMIT 2   

Ho solo modificato il rientro e aggiunto la sottoquery in minuscolo.