Adakah terdapat cara untuk menyemak sama ada lead_id muncul beberapa kali dalam jadual dan jika ya, kecualikan ia daripada pertanyaan? Sebabnya ialah saya hanya mahu menambah baris baharu jika status_id = 1 dan tiada status_id/baris lain untuk Lead_id itu ditemui.
Pangkalan data direka bentuk sedemikian rupa sehingga setiap kemas kini status mencipta baris baharu. Oleh itu, baris lama mempunyai cap masa yang lebih lama dan kekal dalam jadual pangkalan data, ini akan dipaparkan dalam komponen sejarah status bahagian hadapan. Tetapi memandangkan ia direka dengan cara ini, saya tidak boleh hanya mengatakan: berikan setiap pengguna status 1 dan kemas kini status baharu. Kerana kemudian ia akan menambah baris untuk setiap Lead_id kerana semua petunjuk akan memasuki pangkalan data dengan status_id 1.
Pertanyaan yang saya gunakan setakat ini:
INSERT INTO `lead_has_status` (`lead_id`, `lead__status_id`, `comment`, `created_at`, `updated_at`) SELECT (`lead_id`, 13, "", `created_at`, `updated_at`) WHERE `lead__status_id` = 1 AND
Begitu rupa data:
lead_id | status_id | Lebih banyak data |
---|---|---|
1 | 1 | Data |
1 | 12 | Data |
2 | 1 | Data |
2 | 14 | Data |
3 | 1 | Data |
4 | 1 | Data |
5 | 1 | Data |
6 | 1 | Data |
Untuk setiap petunjuk baharu (penyerahan borang) ia akan mencipta baris dan memberikan status_id petunjuk itu 1 (status: baharu). Saya perlu mengemas kini kumpulan 200+ petunjuk daripada 1 kepada status_id yang lain, tetapi dengan pertanyaan yang saya ada sekarang, ia akan mengemas kini setiap baris yang mengandungi status_id sebanyak 1. Apa yang saya mahu ialah ia akan terlebih dahulu menyemak sama ada Lead_id wujud dalam jadual hanya sekali dan jika benar kemudian tambahkan baris baharu dengan status_id yang dikemas kini.
Jadi selepas pertanyaan sql ia perlu kelihatan seperti ini:
lead_id | status_id | Lebih banyak data |
---|---|---|
1 | 1 | Data |
1 | 12 | Data |
2 | 1 | Data |
2 | 14 | Data |
3 | 1 | Data |
3 | 12 | Data |
4 | 1 | Data |
4 | 12 | Data |
5 | 1 | Data |
5 | 12 | Data |
6 | 1 | Data |
6 | 12 | Data |
TLDR: Jika Lead_id ditemui sekali sahaja dalam jadual, tambahkan baris baharu dengan status_id.
Jika jadual anda mempunyai ID unik untuk setiap baris, maka anda boleh menggunakan pertanyaan seperti ini
Dan tiada ID