Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL:UPDATE z INNER JOIN z LIMIT

Po prostu nie możesz.

Według dokumentacja MySQL dotycząca aktualizacji :

For the multiple-table syntax, UPDATE updates rows in each table named in
table_references that satisfy the conditions. In this case, ORDER BY and LIMIT
cannot be used. 

AKTUALIZACJA 1

UPDATE  table1 a
        INNER JOIN
        (
            SELECT  id 
            FROM    table1 A
                    INNER JOIN table2 B 
                        ON A.type = B.typeName
            WHERE   A.status IN ('Finished', 'Exception', 'Query') AND 
                    A.date BETWEEN '2013-01-01' AND '2013-01-31' AND 
                    A.code IN ('ex1','ex2','ex3') AND 
                    A.closed = 0 AND 
                    B.order = 'Non-Order' AND 
                    A.userName = 'test' 
            LIMIT   3
        ) tmp ON a.ID = tmp.ID
SET     a.closed = 1, 
        a.sample = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wyświetlaj dane z bazy danych w tabeli html

  2. Zmień tabelę za pomocą wyboru podrzędnego

  3. Uatrakcyjnienie wyglądu znacznika czasu PHP/MySQL

  4. tworzenie tabeli mysql z połączenia wewnętrznego

  5. Potrzebujesz pomocy w tworzeniu zapytania sql z opcją join i gdzie na relacji wiele do wielu