tidak dapat meletakkan kunci asing di tabel yang ada?

Saya mencoba membuang kunci asing ke tabel yang ada menggunakan migrasi tetapi muncul kesalahan sebagai "Kesalahan sintaksis atau pelanggaran akses: 1091 tidak dapat DROP konsultan_id :periksa apakah kolom/kunci ada". Bisakah Anda membantu?


person balamurugan natarajan    schedule 11.11.2019    source sumber
comment
ini akan membantu Anda : stackoverflow.com/a/51861737/4934273   -  person Md. Abu Taleb    schedule 11.11.2019
comment
Tampilkan skema tabel Anda dan kode yang mencoba menghilangkan kunci asing.   -  person Styx    schedule 11.11.2019


Jawaban (2)


Pertama-tama, Anda harus menghilangkan batasan Asing.

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

nonaktifkan pemeriksaan kunci asing sebelum Anda menghapus tabel lalu aktifkan

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