Sintaks Kemas Kini Sertai MySQL untuk Pengubahsuaian Kapasiti
Apabila mengemas kini berbilang jadual dalam MySQL, sintaks UPDATE berbilang jadual boleh digunakan. Mari kita terokai cara memanfaatkan sintaks ini untuk menyelesaikan kes penggunaan di mana kita perlu menambah kapasiti kereta api berdasarkan pembatalan tempahan.
Pernyataan Masalah:
Pertimbangkan dua meja, Keretapi dan Tempahan. Kami ingin meningkatkan kapasiti kereta api tertentu apabila tempahan dibatalkan.
Train +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | TrainID | varchar(11) | NO | PRI | NULL | | | Capacity | int(11) | NO | | 50 | | +----------+-------------+------+-----+---------+-------+ Reservations +---------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+----------------+ | ReservationID | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(30) | NO | | NULL | | | LastName | varchar(30) | NO | | NULL | | | DDate | date | NO | | NULL | | | NoSeats | int(2) | NO | | NULL | | | Route | varchar(11) | NO | | NULL | | | Train | varchar(11) | NO | | NULL | | +---------------+-------------+------+-----+---------+----------------+
Penyelesaian:
Menggunakan sintaks KEMASKINI berbilang jadual, kami boleh menambah lajur Kapasiti dalam jadual Kereta Api berdasarkan nilai NoSeats dalam jadual Tempahan, diberikan khusus ReservationID.
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID) SET t.Capacity = t.Capacity + r.NoSeats WHERE r.ReservationID = ?;
Sebagai alternatif, untuk menambah bilangan tempat duduk yang sewenang-wenangnya, cuma tukar r.NoSeats kepada nilai yang dikehendaki dalam pertanyaan di atas.
Pertimbangan Transaksi:
Ya, anda boleh menambah dan memadam dalam transaksi Java. Untuk memastikan integriti data, lakukan operasi kemas kini dahulu, diikuti dengan pemadaman.
Dengan menggunakan sintaks KEMASKINI berbilang jadual, kami boleh mengemas kini jadual Kereta api dengan cekap dan mengubah suai nilai Kapasitinya berdasarkan pembatalan tempahan, dengan itu mengekalkan data disegerakkan merentas berbilang jadual.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Kapasiti Kereta Api MySQL Menggunakan Sintaks KEMASKINI Berbilang Jadual Selepas Pembatalan Tempahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!