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

Заявка SELECT в клаузата WHERE на заявката UPDATE

Всъщност можете да го актуализирате, като го увиете в подзаявка (по този начин създавате временна таблица за резултата )

UPDATE `subschedulesseats` m
SET m.studentid='1'
WHERE m.`seatid`= 
(
    SELECT seatID
    FROM
    (
        SELECT h.`seatid`
        FROM `subschedulesseats` h
        WHERE h.`sessiontime`='02:30~04:00'
        ORDER BY h.`seatid` ASC
        LIMIT 2,1
    ) s
)

или като използвате JOIN

UPDATE  `subschedulesseats` m
        INNER JOIN
        (
            SELECT seatID
            FROM
            (
                SELECT h.`seatid`
                FROM `subschedulesseats` h
                WHERE h.`sessiontime`='02:30~04:00'
                ORDER BY h.`seatid` ASC
                LIMIT 2,1
            ) s
        ) t ON m.seatID = t.seatID
SET     m.studentid = '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 и база данни в PHP?

  2. Възстановете дисково пространство след пускане на база данни в mysql

  3. Вмъкнете снимка в базата данни с помощта на php

  4. Възможно ли е да се създаде колона в MySQL с израз като стойност по подразбиране?

  5. Защо заявката не е неуспешна с несъществуваща колона в подзаявката?