Rumah > pangkalan data > tutorial mysql > Mengapa Saya Tidak Boleh Mencipta Jadual MySQL Saya Kerana Nama Kekangan Pendua?

Mengapa Saya Tidak Boleh Mencipta Jadual MySQL Saya Kerana Nama Kekangan Pendua?

Patricia Arquette
Lepaskan: 2024-11-26 05:15:24
asal
531 orang telah melayarinya

Why Can't I Create My MySQL Table Due to Duplicate Constraint Names?

Ralat: Tidak Dapat Mencipta Jadual Kerana Nama Kekangan Pendua

Dalam kejuruteraan hadapan pangkalan data MySQL anda ke pelayan WAMP, anda mengalami ralat "Ralat 1005: Tidak dapat mencipta jadual 'aquaticstar.link' (errno: 121)." Ralat ini menunjukkan bahawa jadual dengan nama yang ditentukan sudah wujud dalam pangkalan data.

Setelah penyiasatan lanjut, didapati bahawa isu itu berkaitan dengan nama kekangan pendua. Khususnya, jadual Pautan mengandungi kekangan kunci asing bernama id dan lesson_id, yang juga terdapat dalam jadual lain. Konflik penamaan ini menghalang pangkalan data daripada mencipta jadual Pautan.

Untuk menyelesaikan masalah ini, anda harus menamakan semula kekangan kunci asing dalam jadual Pautan kepada nama unik. Ini boleh dicapai dengan mengubah suai baris berikut dalam skrip yang dilaksanakan:

CONSTRAINT `id`
    FOREIGN KEY (`id` )
    REFERENCES `Students` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
CONSTRAINT `lesson_id`
    FOREIGN KEY (`lesson_id` )
    REFERENCES `Schedule` (`lesson_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
Salin selepas log masuk

Sebagai contoh, anda boleh menamakan semula kekangan id kepada student_id dan kekangan lesson_id kepada schedule_lesson_id.

CONSTRAINT `student_id`
    FOREIGN KEY (`id` )
    REFERENCES `Students` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
CONSTRAINT `schedule_lesson_id`
    FOREIGN KEY (`lesson_id` )
    REFERENCES `Schedule` (`lesson_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
Salin selepas log masuk

Setelah anda menamakan semula kekangan, laksanakan semula skrip untuk mencipta jadual Pautan berjaya.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mencipta Jadual MySQL Saya Kerana Nama Kekangan Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan