发现问题
最近在处理一些数据库中数据的时候,写了下面的这一条sql语句:
UPDATE f_student
SET school_id = 0
WHERE
id > (
SELECT
id
FROM
f_student
WHERE
school_id = M
LIMIT 1
)
AND id < (
(
SELECT
id
FROM
f_student
WHERE
school_id = M
LIMIT 1
) + N
)
上面的sql是想将某个
mysql中You can’t specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql:
代码如下:
delete from tbl where id in
(
select max(id) from tbl a where EXISTS
(
select 1 from tbl b whe