我有一個像這樣的myqsl圖表:PRIMERY KEY(ID),名稱,值,日期如何刪除重複項是否正確?
如果「名稱和值和日期」與現有行相同,我需要刪除重複項。 我有一種解決方案,我之前發現和哪些工作(不是100%),但我不明白的命令,因爲我只進入基本的MySQL ...可以有人解釋我進一步..
definitly什麼是x在最後?
$delDups = "delete from chart where id not in (select * from (select min(id) from chart n group by value) x)";
mysql_query($delDups);
這是一個相當複雜的查詢,包含兩個子查詢。 x最後是最內層子查詢的別名,IIRC MySQL強制您在某些條件下爲子查詢提供別名,即使您不需要它們。 – TheWolf
MySQL是否允許此查詢?當子查詢引用了你要刪除的同一個表時,我不認爲它允許'UPDATE'或'DELETE'使用'WHERE IN(subquery)'?我通常必須使用'LEFT JOIN'來重寫這樣的事情。 – Barmar
好吧,已經...您知道如何更改查詢,以便如果名稱和值和日期等於一個正在發生的行以刪除重複? – 4M8B