अगर आप वाकई अपनी खुद की (कामकाजी) क्वेरी लिखना चाहते हैं..
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
)
... लेकिन MySQL आपके लिए यह सब संभाल सकता है!
MySQL को आपके लिए इसे संभालने के लिए आपको प्राथमिक कुंजियों की आवश्यकता नहीं है, आपको एक UNIQUE
जोड़ना चाहिए दो स्तंभों के संयुक्त सेट पर मुख्य बाधा।
अद्वितीय कुंजी जोड़ने की क्वेरी dent_group_uniq_key
groupdentlink
. के लिए ।
ALTER TABLE groupdentlink ADD UNIQUE KEY `dent_group_uniq_key` (
f_dent_id, f_group_id
);
फिर INSERT IGNORE
. का इस्तेमाल करें आपकी क्वेरी पर:
INSERT IGNORE INTO groupdentlink (
f_dent_id, f_group_id, f_schedule_id
) VALUES (
'$_POST[id]', '$groupid', '$scheduleid'
)
INSERT IGNORE
आपकी तालिका में एक पंक्ति सम्मिलित करने का प्रयास करेगा, यदि यह एक महत्वपूर्ण बाधा के कारण विफल हो जाता है तो यह कार्य करेगा जैसे कुछ नहीं होता।