Saya mencoba menambahkan kunci asing dalam migrasi codeigniter melalui

Saya punya dua meja

tbl_doc_types
   id
   name

tbl_docs
  id
  doc_type //foreign key to tbl_doc_types

Jadi dalam migrasi saya

class Migration_Add_Tbl_Legal_Documents extends CI_Migration
 {

  public function up()
   {
    $this->dbforge->add_field(array(

         'doc_type' => array(
            'type' => 'INT',
        ),

     $this->dbforge->add_field('CONSTRAINT FOREIGN KEY (doc_type) REFERENCES tbl_doc_types(id)');

Tapi sekarang saya mendapatkan kesalahan itu

Foreign key constraint is incorrectly formed")

Di mana saya salah?

1
Geoff 1 Desember 2017, 15:07

1 menjawab

Jawaban Terbaik

Coba gunakan sesuatu seperti

$this->db->query('ALTER TABLE `table` ADD CONSTRAINT `name_contraint` FOREIGN KEY(`id_table`) REFERENCES table2(`id_table2`) ON DELETE RESTRICT ON UPDATE RESTRICT;');

Alih-alih $this->dbforge->add_field

3
Gerson E. Aguirre 2 Desember 2017, 06:00