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

लारवेल माइग्रेशन (गलती:150 विदेशी कुंजी बाधा गलत तरीके से बनाई गई है)

चूंकि increments() एक अहस्ताक्षरित पूर्णांक स्तंभ बनाता है, आपको विदेशी कुंजी स्तंभ को अहस्ताक्षरित पूर्णांक के रूप में भी परिभाषित करने की आवश्यकता है।

Laravel 6+ में डिफ़ॉल्ट माइग्रेशन bigIncrements() . का उपयोग करते हैं , इसलिए आपको unsignedBigInteger() . का उपयोग करने की आवश्यकता है विधि:

$table->unsignedBigInteger('order_id');

https://laravel.com/docs/6.x/migrations #विदेशी-कुंजी-बाधाएं

Laravel के पुराने संस्करणों में डिफ़ॉल्ट माइग्रेशन के लिए unsignedInteger() . का उपयोग करें विधि:

$table->unsignedInteger('order_id');

या:

$table->integer('order_id')->unsigned();

https://laravel.com/docs/5.5/migrations#foreign-key -बाधाएं



  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. MySQL - एक स्ट्रिंग के हिस्से को अपडेट करने का तरीका?

  3. INSERT INTO... सभी MySQL कॉलम के लिए चुनें

  4. फायरबेस का परिचय

  5. MySQL और LAST_INSERT_ID () द्वारा गलत आईडी के वापस आने की संभावना