删除MySQL中的一行

dar*_*ain 0 mysql sql

我有一张桌子:

NACHRICHT_ID | VERFASSER_USERNAME | BETREFF | TEXT |  DATUM    | EMPAENGER_ID
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-01|  
     1       |          h         | hfgh    | hfgh |  23:15:10 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     3       |          h         | hfgh    | hfgh |  00:30:10 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     4       |          q         | hfgh    | hi   |  11:42:06 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     5       |          h         | hfgh    | hfgh |  12:53:56 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     6       |          h         | hfgh    | hfgh |  13:19:53 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     7       |          h         | hfgh    | hfgh |  13:20:18 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     8       |         mkd        | hfgh    | hfgh |  13:47:32 |    31
------------------------------------------------------------------------------
             |                    |         |      | 2009-07-02|  
     9       |          h         | hfgh    | hfgh |  16:42:10 |    31
------------------------------------------------------------------------------

我正在尝试删除行NACHRICHT_ID = 3:

DELETE FROM NACHRICHTEN JOIN 
                    NACHRICHTEN_EMPFAENGER_MAP USING (NACHRICHT_ID)
                    WHERE EMPFAENGER_ID = 31 && NACHRICHT_ID = 3 ;
Run Code Online (Sandbox Code Playgroud)

但它没有用.我究竟做错了什么?

fei*_*ief 5

你的问题不清楚.

你有3个表:

  • NACHRICHTEN =新闻
  • NACHRICHTEN_EMPFAENGER_MAP =收件人地图的新闻项目
  • EMPFAENGER(我猜这个名字)=收件人

要删除新闻吗?然后这样做:

delete from NACHRICHTEN where NACHRICHT_ID = 3;
Run Code Online (Sandbox Code Playgroud)

如果要删除ID为3的新闻项和ID为31的收件人之间的映射,请执行以下操作:

delete from NACHRICHTEN_EMPFAENGER_MAP where NACHRICHT_ID=3 and EMPFAENGER_ID=31;
Run Code Online (Sandbox Code Playgroud)

如果要删除ID为31的实际收件人,请执行此操作(假设该表名为EMPFAENGER)

delete from EMPFAENGER where EMPFAENGER_ID = 31;
Run Code Online (Sandbox Code Playgroud)

如果您想做其他事情,请提出更详细的问题.