java - pencetus untuk mengemas kini dua jadual pada masa yang sama
高洛峰
高洛峰 2017-06-28 09:23:33
0
2
811

Menggunakan mysql, pengurusan buku, masalahnya melibatkan dua jadual, buku dan pemberi pinjaman

Inilah soalannya:

Buat pencetus untuk merealisasikan kenaikan automatik buku yang dipinjam/penurunan buku yang dipulangkan, tetapi pencetus yang saya tulis tidak dapat merealisasikan fungsi ini, dan jumlah akhir tidak berubah (beberapa jumlah dalam jadual telah saya masukkan secara manual)

Apabila buku dipinjam dan atribut islend dikemas kini, jumlah buku yang dipinjam dikemas kini dalam jadual pemberi pinjaman pada masa yang sama
Selepas atribut islend dikemas kini, ia menyimpan id peminjam, id dalam pemberi pinjaman adalah. kunci utama, dan pulau dalam jadual buku ialah kunci asing Sambungan Kedua-dua jadual ini.

Dua struktur jadual pangkalan data diberikan di bawah Pencetus yang sedang ditulis adalah seperti berikut:

CREATE TRIGGER returnBook
AFTER UPDATE ON books
FOR EACH ROW
BEGIN
UPDATE lender
SET amount = lender.amount - 1
WHERE id = new.isLend;
END

Struktur jadual render adalah seperti berikut:

Struktur meja buku adalah seperti berikut:

Pernyataan ujian
String sql = "KEMASKINI buku SET isLend=?,date=NULL WHERE bookId=? AND isLend=?";

    try {
        ps = conn.prepareStatement(sql);
        ps.setString(1, "1");
        ps.setString(2, String.valueOf(bookId));
        ps.setString(3, String.valueOf(id));
        row = ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }

Fungsi pinjam/pemulangan boleh dilaksanakan seperti biasa, tetapi fungsi pencetus tidak dilaksanakan

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
学霸
CREATE TRIGGER lendBook
AFTER UPDATE ON books
FOR EACH ROW
BEGIN
sql语句1;
sql语句2;
END
我想大声告诉你

Tidak ada yang salah dengan pencetus itu sendiri, kecuali kita perlu memberi perhatian kepada masalah batal yang disebut oleh @夜 lenyap pada musim panas [lingchenxiaoshixiari]

Anda boleh menambah jadual seperti log pada pencetus untuk melihat sama ada pencetus telah dilaksanakan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!