2010-03-19 17 views
11

मैं phpmyadmin (php & mysql) का उपयोग कर रहा हूं और मुझे विदेशी कुंजी का उपयोग करके तालिकाओं को जोड़ने में बहुत सारी परेशानी हो रही है।phpMyAdmin विदेशी कुंजी ड्रॉप-डाउन फ़ील्ड मान

मुझे क्षेत्र countyId (जो कि विदेशी कुंजी है) के लिए नकारात्मक मान मिल रहा है। हालांकि यह मेरी दूसरी टेबल जुर्माना से जुड़ा हुआ है और यह ठीक है।

जब मैं डेटा जोड़ने के लिए जाना वहाँ CountyId के लिए एक बूंद बॉक्स होगा और मूल्यों कुछ इस तरह दिखाई,

-1 

1- 

यहाँ मेरी बदलने कथन है:

ALTER TABLE Baronies 
ADD FOREIGN KEY (CountyId) 
REFERENCES Counties (CountyId) 
ON DELETE CASCADE 
+1

किसी तरह मैं नहीं जानता कि क्या यह संबंधित है या नहीं प्रोग्रामिंग है। आपका एसक्यूएल कथन ठीक दिखता है। मुझे phpmyadmin में कोई अंतर्दृष्टि नहीं है और इसके बारे में, आपका प्रश्न "phpmyadmin एप्लिकेशन का उपयोग कैसे करें" की तरह अधिक पढ़ता है। –

+0

गोटो सुपर यूज़र? – p4bl0

+4

इसमें क्वेरी, या कुंजी के साथ कुछ लेना देना नहीं है। मानों का चयन करने के लिए आपके ड्रॉपडाउन बॉक्स में नकारात्मक प्रविष्टि नहीं होती है, इस मामले में, कोई फर्क नहीं पड़ता कि आप कौन सी चुनते हैं, आप मूल्य '1' दर्ज करेंगे। पीएमए इस तरह से इसका प्रतिनिधित्व क्यों करता है; मुझे नहीं पता ... –

उत्तर

-1

यदि चेक अपने टेबल MyIsam इंजन का उपयोग करें। उस स्थिति में विदेशी कुंजी समर्थित नहीं हैं। इसके बजाय InnoDB का उपयोग करें।

+0

हाँ दोनों टेबल इनो डीबी इंजन का उपयोग कर रहे हैं। –

+0

phpmyadmin डिफ़ॉल्ट रूप से MyIsame का उपयोग करता है क्या वैसे भी इसे बदलने के लिए है? मैंने कोशिश करने की कोशिश की है लेकिन कुछ भी नहीं मिला है। क्योंकि मैं सिर्फ इनो डीबी में टेबल बदल रहा हूं .... क्या यह समस्या हो सकती है? –

+0

mySql में डिफ़ॉल्ट myISAM है, यह phpmyadmin विकल्प नहीं है। डीबी इंजन के बारे में MySQL दस्तावेज़ पर जांचें: http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html – munissor

6

आप ForeignKeyDropdownOrder विकल्प का उपयोग करके इस ड्रॉपडाउन को देख सकते हैं। (PMA documentation देखें)।

उदाहरण:

$cfg['ForeignKeyDropdownOrder'] = array('content-id'); 
/* 'content' is the referenced data, 'id' is the key value. */ 
3

के रूप में लेक्स ने कहा, यह अभी जिस तरह phpMyAdmin मूल्यों को प्रदर्शित करता है है। यदि आपको "-1" या "1-" कि ड्रॉपडाउन बॉक्स में, यह सिर्फ 1.

9

के रूप में मैं ServerFault पर समझाया गया है:

यह negaitve संख्या नहीं है, phpMyAdmin की सुविधा विदेशी कुंजी को दिखाने के लिए है मूल्य और इसके आगे एक कस्टम विवरण फ़ील्ड। संदर्भित तालिका (काउंटी) में आप "रिलेशनशिप व्यू" पर जा सकते हैं और तालिका के नीचे एक चयन बॉक्स "प्रदर्शित करने के लिए फ़ील्ड चुनें" है, जिसमें आप मान चुनते हैं जो संदर्भ तालिका में काउंटीआईडी ​​मान के बगल में प्रदर्शित किया जाएगा (बैरोनीज़)। यह भी देखें: phpymadminWiki

-1

परिवर्तन myiasm से संचालन करने के लिए जाने जाने

से InnoDB को
+0

मैं इस बारे में बहुत कुछ नहीं समझ सकता, लेकिन ऐसा लगता है कि विदेशी कुंजी के साथ बहुत कुछ नहीं करना है। शायद कुछ और जानकारी उपयोगी होगी। –

संबंधित मुद्दे