我試圖刪除記錄哪些條件與另一個表有關,我也想限制記錄將被刪除。MySQL刪除子查詢中的IN語句和LIMIT
DELETE e.* FROM employees e
WHERE emp_no IN (
SELECT ee.emp_no
FROM (
SELECT e.emp_no
FROM employees e, salaries s
WHERE e.emp_no = s.emp_no
GROUP BY e.emp_no
HAVING COUNT(s.emp_no) = 1)
ee)
AND emp_no NOT IN (
SELECT dmm.emp_no
FROM (
SELECT dm.emp_no
FROM dept_manager dm)
dmm)
LIMIT 8384
,但我得到一個錯誤
1064 - 你在你的SQL語法錯誤;檢查對應於您MariaDB的服務器版本在17行
不知是用接近「極限8384」正確的語法手冊,是因爲它的條件,我不知道什麼是錯的。
你會得到什麼錯誤? –
您不需要_。* _ on _e。* _(您正在刪除行,而不是行中列中的值)。但這不是主要問題 – Kickstart