# SQLSTATE\[42S21\]: Column already exists: 1060 Duplicate column name

**URL:** <https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269>\
**Category:** Programmierung\
**Tags:** programming\
**Created:** [15. September 2023 um 14:17 UTC](https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269 "2023-09-15T14:17:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![paul.schmidt](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@paul.schmidt](https://forum.shopware.com/u/paul.schmidt)\
**Post date:** [15. September 2023 um 14:17 UTC](https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269/1 "2023-09-15T14:17:08Z")

</div>

Kann mir jemand bei meinem Problem helfen? Was muss ich in diesem Fall tun?

Fehler: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name ‚mail\_template\_to\_operator\_id‘

```auto
public function update(Connection $connection): void
    {
        $sql = <<<'SQL'
ALTER TABLE `form` ADD (
    `mail_template_to_operator_id` BINARY(16),
    `mail_template_to_customer_id` BINARY(16),
    CONSTRAINT `fk.form.mail_template_to_operator_id` FOREIGN KEY (`mail_template_to_operator_id`)
        REFERENCES `mail_template` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    CONSTRAINT `fk.form.mail_template_to_customer_id` FOREIGN KEY (`mail_template_to_customer_id`)
        REFERENCES `mail_template` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
SQL;

        $connection->executeUpdate($sql);
    }

```

Vielen Dank an jeden der mit weiterhelfen kann.

---

<div class="post-metadata">

**Author:** ![Teddie](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/teddie/32/26013_2.png) [@Teddie](https://forum.shopware.com/u/Teddie)\
**Post date:** [15. September 2023 um 14:34 UTC](https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269/2 "2023-09-15T14:34:29Z")

</div>

Einfach die Spalte aus dem Script auskommentieren oder entfernen:

```auto
$sql = <<<'SQL'
ALTER TABLE `form` ADD (
    `mail_template_to_customer_id` BINARY(16),
    CONSTRAINT `fk.form.mail_template_to_customer_id` FOREIGN KEY (`mail_template_to_customer_id`)
        REFERENCES `mail_template` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
SQL;

```

Schau bitte nach ob die Spalte _mail\_template\_to\_customer\_id_ existiert, dann kannst du den gesamten Teil einfach entfernen.

Ist vorher etwas schief gelaufen? Schließlich sollte die Spalte noch nicht da sein.

---

<div class="post-metadata">

**Author:** ![paul.schmidt](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@paul.schmidt](https://forum.shopware.com/u/paul.schmidt)\
**Post date:** [15. September 2023 um 14:48 UTC](https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269/3 "2023-09-15T14:48:11Z")

</div>

Ja die Spalte ist in der Tabelle da. Ich hab die Spalte aus dem Skript genommen, jetzt kommt der selbe Fehler mit ‚mail\_template\_to\_customer\_id‘. Soll ich den Eintrag auch entfernen? Also das gesamte $sql Statement.

---

<div class="post-metadata">

**Author:** ![Teddie](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/teddie/32/26013_2.png) [@Teddie](https://forum.shopware.com/u/Teddie)\
**Post date:** [15. September 2023 um 20:37 UTC](https://forum.shopware.com/t/sqlstate-42s21-column-already-exists-1060-duplicate-column-name/101269/4 "2023-09-15T20:37:25Z")

</div>

Wenn beide Spalten da sind, dann alles entfernen. Damit sollte das behoben sein.
