Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL:АКТУАЛИЗИРАНЕ с INNER JOIN с LIMIT

Просто не можеш.

Според документите на MySQL за актуализация :

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. 

АКТУАЛИЗИРАНЕ 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. Задаване на големи променливи на заявка като mysql

  2. Как да сумирате дублираните стойности от таблицата на mysql

  3. Грешка в MySQL 2006 (HY000) на ред 406:MySQL сървърът е изчезнал

  4. 4 начина за изброяване на всички таблици в MySQL база данни

  5. MySQL - Премахване на стойността по подразбиране за полето Datetime