Rumah  >  Soal Jawab  >  teks badan

MariaDB: Isu dengan pemadaman SQL menggunakan klausa wujud

<p>Saya menjalankan pilihan ini dalam MariaDB dan ia berfungsi seperti yang diharapkan, ia hanya pilihan dengan <kod>wujud</code>: </p> <pre class="brush:php;toolbar:false;">pilih * daripada pred_loan_defaults d di mana wujud (pilih 1 daripada pred_loan_defaults d2 di mana d.exec_id = d2.exec_id dan d.loan_identifier = d2.loan_identifier dan d2.status_default = 1 dan d.prediction_date > pesanan mengikut loan_identifier, prediction_date</pre> <p>Sekarang, saya cuba memadamkan baris yang dipilih, jadi saya menyesuaikan kenyataan: </p> <pre class="brush:php;toolbar:false;">padam daripada pred_loan_defaults d di mana wujud (pilih * daripada pred_loan_defaults d2 di mana d.exec_id = d2.exec_id dan d.loan_identifier = d2.loan_identifier dan d2.status_default = 1 dan d.prediction_date > <p>Tetapi saya mendapat ralat:</p> <blockquote> <p>SQL Error [1064] [42000]: (conn=6) Terdapat ralat dalam SQL anda Sintaks; semak manual untuk pelayan MariaDB anda Versi menggunakan sintaks yang betul berhampiran 'd</p> </blockquote> <p><kod>padam</kod> </p>
P粉811329034P粉811329034417 hari yang lalu413

membalas semua(1)saya akan balas

  • P粉752812853

    P粉7528128532023-08-31 19:43:19

    Apabila memadamkan satu jadual, alias tidak boleh digunakan selepas nama jadual.

    Anda perlu menggunakan JOIN而不是WHERE EXISTS.

    delete d
    FROM pred_loan_defaults AS d
    JOIN prod_loan_defaults AS d2
        ON d.exec_id = d2.exec_id 
            AND d.loan_identifier = d2.loan_identifier 
            AND d.prediction_date > d2.prediction_date
    WHERE d2.default_status = 1

    balas
    0
  • Batalbalas