Jika Anda benar-benar ingin menulis kueri (berfungsi) Anda sendiri..
INSERT INTO groupdentlink (
f_dent_id, f_group_id, f_schedule_id
) SELECT
'$_POST[id]' f_dent_id,
'$groupid' f_group_id,
'$scheduleid' f_schedule_id
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM `groupdentlink`
WHERE
f_dent_id = '$_POST[id]' AND f_group_id = '$groupid'
LIMIT 1 -- will stop mysql to stop searching after first match
)
... tetapi MySQL dapat menangani semua ini untuk Anda!
Anda tidak memerlukan kunci utama untuk membuat MySQL menangani ini untuk Anda, Anda harus menambahkan UNIQUE
batasan kunci pada kumpulan gabungan dari dua kolom.
Permintaan untuk menambahkan kunci unik dent_group_uniq_key
ke groupdentlink
.
ALTER TABLE groupdentlink ADD UNIQUE KEY `dent_group_uniq_key` (
f_dent_id, f_group_id
);
Kemudian gunakan INSERT IGNORE
pada permintaan Anda:
INSERT IGNORE INTO groupdentlink (
f_dent_id, f_group_id, f_schedule_id
) VALUES (
'$_POST[id]', '$groupid', '$scheduleid'
)
INSERT IGNORE
akan mencoba menyisipkan baris ke tabel Anda, jika gagal karena kendala kunci, itu akan bertindak seperti tidak terjadi apa-apa.