MySQL: Einschränkung hinzufügen, falls nicht vorhanden

In meinem Erstellungsskript für meine Datenbank erstellen Sie ein Skript, das ungefähr so aussieht:

CREATE TABLE IF NOT EXISTS `rabbits`
(
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL,
    `main_page_id` INT UNSIGNED COMMENT 'What page is the main one',
    PRIMARY KEY (`id`),
    KEY `main_page_id` (`main_page_id`)
)
ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `rabbit_pages`
(
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `rabbit_id` INT UNSIGNED NOT NULL,
    `title` VARCHAR(255) NOT NULL,
    `content` TEXT NOT NULL,
    PRIMARY KEY (`id`),
    KEY `rabbit_id` (`rabbit_id`),
    CONSTRAINT `fk_rabbits_pages` FOREIGN KEY (`rabbit_id`) REFERENCES `rabbits` (`id`)
)
ENGINE=InnoDB;

ALTER TABLE `rabbits`
    ADD CONSTRAINT `fk_rabbits_main_page` FOREIGN KEY (`main_page_id`) REFERENCES `rabbit_pages` (`id`);

Dies läuft beim ersten Mal einwandfrei, aber wenn ich es erneut ausführe, schlägt es in der letzten Zeile dort mit "Schlüssel beim Schreiben oder Aktualisieren duplizieren" fehl.

ibt es eine Möglichkeit, wie ich so etwas wie ein @ machen kanADD CONSTRAINT IF NOT EXISTS oder etwas ähnliches? Wie ich es mit dem @ machen kaCREATE TABLE query?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage