sql >> Database >  >> RDS >> Mysql

hoe de MYSQL-query-update op deze manier af te handelen

Je krijgt die foutmelding, omdat je de screening probeert bij te werken tabel en tegelijkertijd de id's van diezelfde tabel ophalen (samen met users ). De oplossing hiervoor is om een ​​subquery als zodanig te gebruiken:

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   

Ik heb alleen de inspringing gewijzigd en de subquery in kleine letters toegevoegd.



  1. tabel bijwerken met gegevens uit een andere tabel, zo niet null?

  2. Gelijktijdig verbinding maken met SQL Server, Oracle, DB2 en MySQL via ADO.NET?

  3. Lijst met parameters doorgeven aan SQL in psycopg2

  4. SQL transponeren volledige tabel