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

hvordan man håndterer MYSQL-forespørgselsopdatering som denne

Du får den fejl, fordi du forsøger at opdatere screening tabel og samtidig hente id'erne fra den samme tabel (sammen med users ). Løsningen til dette er at bruge en underforespørgsel, som sådan:

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   

Jeg ændrede kun indrykningen og tilføjede underforespørgslen med små bogstaver.



  1. 5 måder at liste midlertidige tabeller ved hjælp af T-SQL

  2. MySQL-forespørgsel:Match kommasepareret værdi med kolonne, der indeholder kommasepareret streng

  3. Er databaseudløsere sikre for integritetsbegrænsninger på tværs af tabel?

  4. Hvordan man vælger kolonne, * FRA TABLE i Oracle?