Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में फॉरेन की चेक को डिसेबल कैसे करें

MySQL में विदेशी कुंजी जांच आपको उन तालिकाओं में कुछ डेटाबेस अपडेट करने से रोक सकती है जिनमें विदेशी कुंजी बाधाएं हैं। ऐसे मामलों में, आप अस्थायी रूप से MySQL में विदेशी कुंजी जांच को अक्षम कर सकते हैं, अपने अपडेट कर सकते हैं और बाद में MySQL में विदेशी कुंजी जांच सक्षम कर सकते हैं। यहाँ MySQL में विदेशी कुंजी बाधा को अक्षम करने का तरीका बताया गया है।

MySQL में फॉरेन की चेक को डिसेबल कैसे करें

यहाँ MySQL में विदेशी कुंजी जाँच को अक्षम करने के चरण दिए गए हैं।

आप सिस्टम वेरिएबल foreign_key_checks . सेट करके MySQL में फॉरेन की चेक को डिसेबल कर सकते हैं से 0.

SET foreign_key_checks = 0

इसी तरह, आप सिस्टम वैरिएबल forign_key_check . सेट करके MySQL में फॉरेन की चेक इनेबल कर सकते हैं 1

. तक
SET foreign_key_checks = 1

हालाँकि, कृपया ध्यान दें, आपके द्वारा विदेशी कुंजी जाँचों को सक्षम करने के बाद, MySQL आपके मौजूदा डेटा को फिर से मान्य नहीं करेगा जिसे आपने विदेशी कुंजी जाँच को अक्षम करने के बाद जोड़ा था। यह केवल आपके डेटाबेस में किसी भी नए जोड़े/अपडेट की जांच करेगा।

बोनस पढ़ें :MySQL में सीक्वेंस कैसे बनाएं

आइए एक उदाहरण देखें। मान लें कि आपके पास निम्नलिखित दो टेबल हैं देश और शहर ऐसा कि शहर एक विदेशी कुंजी कॉलम है देश_आईडी जो देश_आईडी . को संदर्भित करता है देशों . में

CREATE TABLE countries(
    country_id INT PRIMARY KEY AUTO_INCREMENT,
    country_name VARCHAR(255) NOT NULL
);

CREATE TABLE cities(
    city_id INT PRIMARY KEY AUTO_INCREMENT,
    city_name VARCHAR(255),
    country_id INT,
    FOREIGN KEY(country_id) 
		REFERENCES countries(country_id)
);

बोनस पढ़ें :MySQL में दो तालिकाओं की तुलना कैसे करें

आइए अब शहरों . में एक पंक्ति डालने का प्रयास करें देश_आईडी . का उल्लेख किए बिना तालिका विदेशी कुंजी मान और जैसा कि नीचे दिखाया गया है आपको एक त्रुटि मिलेगी।

mysql> INSERT INTO cities(city_name, country_id)
       VALUES('NYC',1);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint
fails (`sample`.`cities`, CONSTRAINT `cities_ibfk_1` FOREIGN KEY (`country_id`)
 REFERENCES `countries` (`country_id`))

अब हम MySQL में विदेशी कुंजी जांच को अक्षम करते हैं और फिर से पंक्ति डालने का प्रयास करते हैं।

mysql> SET foreign_key_checks = 0;

mysql> INSERT INTO cities(city_name, country_id)
       VALUES('NYC',1);

mysql> select * from cities;
+---------+-----------+------------+
| city_id | city_name | country_id |
+---------+-----------+------------+
|       2 | NYC       |          1 |
+---------+-----------+------------+

अब हम MySQL में फॉरेन चेक इनेबल करते हैं

mysql> SET foreign_key_checks = 1;

बोनस पढ़ें :MySQL में पिछले एक महीने का डेटा कैसे प्राप्त करें

हम अंत में देशों . में एक संगत पंक्ति सम्मिलित करते हैं टेबल।

mysql> INSERT INTO countries(country_id, country_name)
       VALUES(1,'USA');

mysql> select * from countries;
+------------+--------------+
| country_id | country_name |
+------------+--------------+
|          1 | USA          |
+------------+--------------+

Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:वैकल्पिक तालिका यदि स्तंभ मौजूद नहीं है

  2. मौजूदा तालिका में प्रत्येक शब्द के पहले अक्षर को बड़ा करें

  3. चुनें COUNT () बनाम mysql_num_rows ();

  4. STR_TO_DATE () उदाहरण – MySQL

  5. MySQL होस्टिंग के साथ ZEIT Now पर WordPress 5 इंस्टाल करना