ฉันกำลังพยายามวางคีย์ต่างประเทศลงในตารางที่มีอยู่โดยใช้การย้ายข้อมูล แต่เกิดข้อผิดพลาดว่า "ข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง: 1091 ไม่สามารถ DROP Consult_id : ตรวจสอบว่าคอลัมน์/คีย์มีอยู่" คุณช่วยมันหน่อยได้ไหม?
ไม่สามารถวางคีย์ต่างประเทศลงในตารางที่มีอยู่ได้ใช่ไหม
comment
มันจะช่วยคุณ: stackoverflow.com/a/51861737/4934273
- person Md. Abu Taleb   schedule 11.11.2019
comment
แสดงสคีมาของตารางและโค้ดที่พยายามจะปล่อยคีย์นอก
- person Styx   schedule 11.11.2019
คำตอบ (2)
ก่อนอื่น คุณต้องยกเลิกข้อจำกัดด้านต่างประเทศ
public function up() {
Schema::table('table_name', function (Blueprint $table) {
$table->dropForeign('table_name_consultant_id_foreign');
$table->dropColumn('consultant_id');
});
}
person
Prashant Morem
schedule
11.11.2019
ปิดการใช้งานการตรวจสอบคีย์ต่างประเทศก่อนที่คุณจะวางตารางจากนั้นเปิดใช้งาน
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
Schema::dropIfExists('your_choice_table');
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
person
umar_sharif
schedule
11.11.2019