मैं एक सरल उत्पाद खोज webapp जहां उपयोगकर्ता खरीदारी उत्पादों वह कीमत, नि: शुल्क वितरण, नाम के आधार पर बुकमार्क किए गए है फ़िल्टर कर सकते हैं बनाने रहा हूँ, दुकान आदिकैसे उत्पाद खोज फिल्टर के भंडारण के लिए एक डेटाबेस स्कीमा बनाने के लिए
मैं कस्टम खोज फ़िल्टर कार्यक्षमता को लागू करने के लिए देख रहा हूं जहां उपयोगकर्ता एक खोज फ़िल्टर बना सकता है, फिर इसे बाद में उपयोग के लिए सहेजें। खोज फ़िल्टर कुछ इस तरह हैं: के तहत $ 1000
- कीमत है नाम में "क्रिसमस"
क्या कोई मुझे डेटाबेस में ऐसे खोज फ़िल्टर संग्रहीत करने के लिए डेटाबेस स्कीमा का विचार दे सकता है। मैं की तरह डेटाबेस में mysql खंड की दुकान चाहिए "जहां कीमत < 1000", "जहाँ free_delivery = 1" ... या इस तरह क्षेत्र बनाने में हो सकता है ..
- क्षेत्र (कीमत, नाम, free_delivery)
- मूल्य (1000)
- expr (कम, की तुलना में अधिक से अधिक) (1000)
- और (2000)
- के बीच
- शामिल
काम करने के लिए इस उत्तर पर बस एक नोट आपको MyISAM के डिफ़ॉल्ट मान के बजाय INNODB होने के रूप में अपनी तालिका निर्दिष्ट करने की आवश्यकता होगी। जैसा कि http://dev.mysql.com/doc/refman/5.6/en/ansi-diff-foreign-keys.html पर देखा जा सकता है, वे कहते हैं "बाद के चरण में, विदेशी कुंजी बाधाओं को माईसाम टेबल के लिए लागू किया जाएगा कुंआ।" यह वही पाठ पिछले 8 वर्षों से सभी संस्करणों के लिए मौजूद है। आईएनएनओडीबी का उपयोग करने के बावजूद आपको गारंटी नहीं है कि विदेशी कुंजी का भी पालन किया जाएगा। MySQL कई बार विदेशी कुंजी को नजरअंदाज करने के लिए जाना जाता है। – Peter
धन्यवाद पीटर, मुझे उस प्रतिबंध के बारे में पता नहीं था। – andebauchery