sql >> Databasteknik >  >> RDS >> Mysql

hur man hanterar MYSQL-frågauppdatering så här

Du får det felet eftersom du försöker uppdatera screening tabell och samtidigt hämta ID från samma tabell (sammanfogad med users ). Lösningen till detta är att använda en underfråga, 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   

Jag ändrade bara indraget och la till underfrågan med gemener.



  1. Matcha utbud med efterfrågan – lösningar, del 2

  2. Vad är datatypen bytea och när skulle jag använda den?

  3. Arv i Databasdesign

  4. SQL:välja rader där kolumnvärdet ändrats från föregående rad