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

लारवेल माइग्रेशन - अखंडता बाधा उल्लंघन:1452 चाइल्ड पंक्ति को जोड़ या अपडेट नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है

मुझे भी यही समस्या थी। nullable . जोड़कर इसे ठीक किया फ़ील्ड करने के लिए:

Schema::create('table_name', function (Blueprint $table) {
    ...
    $table->integer('some_id')->unsigned()->nullable();
    $table->foreign('some_id')->references('id')->on('other_table');
    ...
});

ध्यान दें कि माइग्रेशन के बाद सभी मौजूदा पंक्तियों में some_id = NULL होगा ।

यूपीडी :

Laravel 7 के बाद से वही काम करने का और भी छोटा तरीका है:

$table->foreignId('some_id')->nullable()->constrained();

यह भी बहुत महत्वपूर्ण है कि nullable constrained . से पहले चला जाता है ।

अधिक जानकारी आपको यहां आधिकारिक दस्तावेज में मिल सकती है।



  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. एमएस एसक्यूएल सर्वर 2008 के साथ एंड्रॉइड कनेक्ट करना

  3. जावा एपेंगिन प्रबंधित वीएम से क्लाउड SQL 2nd Gen से कनेक्ट होता है

  4. SQL दिनांक में घंटे, मिनट, सेकंड जोड़ना

  5. एसक्यूएल सहायता | INSERT कथन की चयन सूची में सम्मिलित सूची की तुलना में कम आइटम हैं