Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में विभिन्न तालिका में प्राथमिक कुंजी को विदेशी के रूप में कैसे संदर्भित करें?


निम्नलिखित वाक्य रचना है -

तालिका में बदलाव करें, yourSecondTableNameजोड़ें बाधा `yourConstraintName`विदेशी कुंजी(`yourSecondTableNamePrimaryKey`) संदर्भ yourFirstTableName(yourFirstTablePrimaryKeyColumnName);

ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए पहले एक टेबल बनाएं -

mysql> क्रिएट टेबल डेमो65−> (−> id int not null प्राइमरी की,−> name varchar(20)−> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.57 सेकंड)

दूसरी तालिका बनाने की क्वेरी निम्नलिखित है -

mysql> तालिका बनाएं demo66−> (−> user_id int null प्राथमिक कुंजी,−> पता varchar(200)−> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.80 सेकंड)

प्राथमिक कुंजी को विदेशी कुंजी के रूप में संदर्भित करने के लिए निम्नलिखित क्वेरी है -

mysql> परिवर्तन तालिका डेमो66−> बाधा जोड़ें `id_fk`−> विदेशी कुंजी(`user_id`)−> संदर्भ डेमो65(आईडी);क्वेरी ठीक है, 0 पंक्तियां प्रभावित (3.76 सेकंड)रिकॉर्ड:0 डुप्लीकेट:0 चेतावनियां:0

आइए SHOW CREATE TABLE कमांड का उपयोग करके तालिका के समग्र विवरण की जाँच करें। निम्नलिखित प्रश्न है -

mysql> क्रिएट टेबल डेमो66 दिखाएं;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+------ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------+| टेबल | टेबल बनाएं -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------+| डेमो66 | तालिका बनाएं `demo66` (`user_id` int NOT NULL,`address` varchar(200) DEFAULT NULL, PRIMARY KEY (`user_id`), CONSTRAINT `id_fk` विदेशी कुंजी (`user_id`) संदर्भ `demo65` (`id`) )) इंजन =InnoDB DEFAULT CHARSET =utf8mb4 COLLATE =utf8mb4_0900_ai_ci |+----------+-------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------+1 पंक्ति सेट में (0.00 सेकंड)
  1. मैं MySQL में प्राथमिक कुंजी कैसे छोड़ूं?

    प्राथमिक कुंजी छोड़ने के लिए, तालिका को बदलने के लिए पहले ALTER का उपयोग करें। इसके साथ, नीचे की तरह कुंजी को छोड़ने के लिए DROP का उपयोग करें सिंटैक्स टेबल बदलें yourTableName ड्रॉप प्राइमरी की; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.48) सेकंड) यहाँ तालिका के विवरण की जाँ

  1. आप कैसे प्राप्त करते हैं कि कॉलम MySQL में प्राथमिक कुंजी है या नहीं?

    यह जानने के लिए कि कोई स्तंभ प्राथमिक कुंजी है या नहीं, COLUMN_NAME और COLUMN_KEY=PRI का उपयोग करें। उसके साथ, पूरा सिंटैक्स इस प्रकार है - select column_name, case when column_key= 'PRI' then 'yourMessage1' else ''yourMessage2' end as anyAliasName from information_schema

  1. MySQL में विदेशी कुंजी का उपयोग करना

    आइए समझें कि MySQL में विदेशी कुंजियों का उपयोग कैसे किया जा सकता है - InnoDB तालिकाएँ विदेशी कुंजी बाधाओं की जाँच का समर्थन करती हैं। केवल दो तालिकाओं में शामिल होने के लिए एक विदेशी कुंजी बाधा की आवश्यकता नहीं है। इसका उपयोग एक कॉलम को परिभाषित करते समय किया जा सकता है जिसका उपयोग इनो डीबी के अला