0
假設我有一個簡單的表格,其中有兩列userid
和email
。如何更改其值超過一行的列中的所有值?
如何更改email
值在多行中存在的所有email
值?
例如,假設email
值[email protected]
存在4行。我不想刪除這4行,我只是想將所有這4行中的email
列設置爲''
。
什麼查詢會在MySQL中做到這一點?
假設我有一個簡單的表格,其中有兩列userid
和email
。如何更改其值超過一行的列中的所有值?
如何更改email
值在多行中存在的所有email
值?
例如,假設email
值[email protected]
存在4行。我不想刪除這4行,我只是想將所有這4行中的email
列設置爲''
。
什麼查詢會在MySQL中做到這一點?
Update t
Set t.Email = ''
Where t.Email in (Select email from YourTable group by email having count(*)>1)
這個請求得到存在於1個多行的電子郵件:
SELECT email, COUNT(email) AS c
FROM table
GROUP BY email
HAVING c > 1
所以,你只需要在你的更新查詢使用它:
UPDATE table SET email = ''
WHERE email IN (
SELECT email, COUNT(email) AS c
FROM table
GROUP BY email
HAVING c > 1
)
不知道,但MySQL的可能告訴你_你無法在FROM子句_中指定目標表'
相關問題