这个错误大致的意思就是你不能在同一语句中,先select出同一表中的某些值,再update或者insert这个表。
我出错的语句大致是这样:
INSERT INTO sys_user
VALUES
(
NULL,
'JackeyLove',
(
SELECT
id
FROM
sys_user
WHERE
name = 'Uzi'
)
);
我想先根据name = 'Uzi'查出sys_user表对应的id值,然后插入到sys_user表,这就违反标题中的错误了,那么如何改呢?
我们只需要外面包一层皮即可:
INSERT INTO sys_user
VALUES
(
NULL,
'JackeyLove',
(
SELECT
USER .id
FROM
(
SELECT
id
FROM
sys_user
WHERE
NAME = 'Uzi'
) AS USER
)
);