cari

Rumah  >  Soal Jawab  >  teks badan

Padam daripada dua jadual dalam satu pertanyaan

<p>Saya mempunyai dua jadual dalam MySQL</p> <pre class="brush:php;toolbar:false;">#messages table : mesej tajuk mesej . . jadual #usersmessages id mesej pengguna mesej ID Pengguna . .</pra> <p>Sekarang jika saya mahu memadamkan daripada jadual mesej, saya boleh. Tetapi apabila saya memadamkan mesej melalui messageid, rekod itu masih wujud pada usersmessage dan saya perlu memadamkannya daripada kedua-dua jadual dengan segera. </p> <p>Saya menggunakan pertanyaan berikut: </p> <pre class="brush:php;toolbar:false;">DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ;</pre> <p>Kemudian saya menguji</p> <pre class="brush:php;toolbar:false;">PADAM DARIPADA mesej , mesej pengguna WHERE messages.messageid = usersmessages.messageid dan messageid='1' ;</pre> <p>Tetapi kedua-dua pertanyaan ini tidak mencapai tugas ini. </p>
P粉401901266P粉401901266497 hari yang lalu520

membalas semua(2)saya akan balas

  • P粉164942791

    P粉1649427912023-08-28 10:18:24

    DELETE a.*, b.* 
    FROM messages a 
    LEFT JOIN usersmessages b 
    ON b.messageid = a.messageid 
    WHERE a.messageid = 1

    Terjemahan: Padam daripada jadual mesej di mana messageid = 1, jika jadual uersmessages mempunyai messageid = mesej daripada jadual messages, kemudian padam baris mesej pengguna jadual.

    balas
    0
  • P粉595605759

    P粉5956057592023-08-28 09:11:20

    Tidak bolehkah saya memisahkannya dengan koma bertitik?

    Delete from messages where messageid = '1';
    Delete from usersmessages where messageid = '1'

    atau

    Hanya guna INNER JOIN seperti di bawah

    DELETE messages , usersmessages  FROM messages  INNER JOIN usersmessages  
    WHERE messages.messageid= usersmessages.messageid and messages.messageid = '1'

    balas
    0
  • Batalbalas