簡體   English   中英

MySQL - 如何刪除列不包含某些值的行?

[英]MySQL - How to delete rows where column does not contain certain values?

我正在嘗試刪除特定列不包含某些字符串的所有行。 像這樣:

DELETE * FROM table
WHERE Disease NOT LIKE (Malaria, HIV, E. coli O157);

我收到此錯誤: #1064 - 您的 SQL 語法有錯誤; 在第 1 行的“* FROM table WHERE Disease NOT LIKE (Malaria”附近)

如果給出的描述是對疾病的准確描述,只需使用NOT IN (帶有適當的引號):

DELETE FROM table
WHERE Disease NOT IN ('Malaria', 'HIV', 'E. coli O157');

但如果它是一個子字符串,你必須使用多個LIKE

DELETE FROM table
WHERE
  NOT (Disease LIKE '%Malaria%'
       or Disease LIKE '%HIV%'
       or Disease LIKE '%E. coli O157%');

利用

DELETE FROM TABLE_NAME WHERE Disease not in ('Malaria', 'HIV', 'E. coli 0157');

在上面的語句中用你的實際表名代替 TABLE_NAME。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM