Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man mit MYSQL-Abfrageaktualisierungen so umgeht

Sie erhalten diesen Fehler, weil Sie versuchen, das screening zu aktualisieren Tabelle und gleichzeitig die IDs aus derselben Tabelle abrufen (verbunden mit users ). Die Problemumgehung hierfür besteht darin, eine Unterabfrage wie diese zu verwenden:

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   

Ich habe nur den Einzug geändert und die Unterabfrage in Kleinbuchstaben hinzugefügt.