sql - Creating a MySQL Table but get error -
मुझे मिल
errnno 150: InnoDB प्रलेखन लेनदेन, पंक्ति-स्तर लॉकिंग, और विदेशी कुंजी
यहां एसक्यूएल है:
- तालिका 'सर्विंग_इन्फो` के लिए तालिका संरचना - यदि टेबल पर मौजूद नहीं है तो' टेबल बनाओ '(`आईडी `` (255) नॉट न्यॉल एंटएन्ग्रेमेंट, `फूड_वैल्यू '(40) नल,` फूड_नाम` वर्चार (40) नल,' सर्विसेड ऑन ऑन टाइम ', डिफॉल्ट सीआरईआरआईटीएमटीएमएम्पी, `ऑनकॉल` varchar (128) नल, विदेशी कुंजी (` ऑनकॉल `) संदर्भ` कर्मचारी '(`नाम`), विदेशी कुंजी (` खाद्य_नाम`) संदर्भ' फूड '(`खाद्य_नाम`), प्राथमिक कुंजी (` ऑनकॉल`, `खाद्य_नाम`,` सेवित_ऑन`));
कोई भी विचार जो त्रुटि पैदा कर रहा है? मैंने प्राथमिक कुंजी का आईडी भाग बनाने की कोशिश की है, लेकिन यह समस्या को हल नहीं कर रहा है।
यहां पर मौजूद तालिकाओं के बयान हैं:
बनाएँ तालिका यदि नहीं है तो `कर्मचारी '(` id_user` int (11) नहीं, नल एयूटीएन्क्र्रेमेंट, `नाम' varchar (128) नहीं, 'ईमेल' varchar (64) नल, 'फोन_एनम्बर' varchar (16) नहीं, उपयोगकर्ता नाम `Varchar (16) नहीं नल, पासवर्ड 'varchar (32) नल नहीं,` पुष्टिकोड varchar (32) डिफॉल्ट नल, प्राथमिक कुंजी (`आईडी_यूसर`)); - टेबल के लिए तालिका संरचना 'फूड्स' - टेबल बनाइए, यदि नहीं है तो `फूड्स '(` फूड_नाम` के वार्चार (40) नल, `कॉस्टपरफिफिल` डबल नॉट नल, प्राइमरी की (` फूड_नाम`));
मैं सिर्फ नीचे की कोशिश की, लेकिन मुझे एक ही त्रुटि मिलती है:
- - टेबल 'सारणी_इन्फो` के लिए तालिका संरचना - यदि टेबल नहीं बनाते मौजूदा `सर्विंग_इन्फो` (` आईडी` इंट (255) नल एयूटीएसीसीआरमेंट, `फूड_वैल्यू '(40) नल,` फूड_नाम` वर्चार (40) नल नहीं है, टाइमस्टैम्प डीफ़ाल्ट CURRENT_TIMESTAMP, `ऑनकॉल' varchar (128) विदेशी मुद्रा (`ऑनकॉल`) संदर्भ` कर्मचारी '(`नाम`), विदेशी कुंजी (` खाद्य_नाम`) संदर्भ' फूड '(`खाद्य_नाम`), प्राथमिक कुंजी (` आईडी`), अद्वितीय (`ऑनकॉल`,` खाद्य_नाम`, `सेवित_ऑन`));
आपकी समस्या यह है कि संदर्भ employees.name
बजाय employees.id_user
के बजाय इसे करने की कोशिश करें:
नहीं बनाइए अगर 'सर्विसिंग_इन्फो' (`आईडी` इंट (255) नल एयूटीएक्र्रेमेंट,` फूड_ वेल्यू 'varchar (40) नल, फूड_नाम' varchar (40) विदेशी मुद्रा (`आईडी`), विदेशी कुंजी (` ऑनकॉल`) संदर्भ `कर्मचारी '(` आईडी_यूसर`), विदेशी कुंजी (`खाद्य_नाम`) संदर्भ' फूड्स ',' नॉन नल ',' सर्फ_ऑन 'समय सीमा के डिफॉल्ट CURRENT_TIMESTAMP,` ऑनकॉल`, प्राथमिक कुंजी `(` खाद्य_नाम`), अद्वितीय (`ऑनकॉल`,` खाद्य_नाम`, `सेवित_ऑन`));
अन्यथा, कर्मचारी
तालिका को बदलें ताकि नाम
एक सूचकांक हो:
बनाओ तालिका 'कर्मचारी' (`id_user` int (11) नहीं, नल एयूटीएक्र्रेमेंट,` नाम 'varchar (128) नहीं,' ईमेल 'varchar (64) नहीं, शून्य, `फोन_एनम्बर' varchar (16) नहीं, नाम, उपयोगकर्ता नाम से मौजूद नहीं है। Varchar (16) नहीं नल, `पासवर्ड` varchar (32) नहीं, शून्य,` पुष्टिकोड 'varchar (32) डिफॉल्ट शून्य, प्राथमिक कुंजी (`id_user`), कुंजी (नाम));
व्यवहार में, यदि आप नाम
इस तरह से उपयोग करने जा रहे हैं, तो आपको शायद यह कि अद्वितीय
को सिर्फ के बजाय करना चाहिए कुंजी
।
Comments
Post a Comment