MariaDB Syntax Fehler aufgrund von reserviertem Wort

Hallo,

Ich habe Shopware (5.2.24) auf MariaDB (10.3.0) aufgesetzt und musste festellen, dass ich keine neuen Einkaufswelten erstellen kann. Beim erstellen einer neuen Einkaufswelt gibt mir Shopware einen MySQL Syntax Fehler zurück, da in der Tabelle ‚s_emotion‘ eine Spalte ‚rows‘ beschrieben werden sollte, aber ‚rows‘ laut offzieller MariaDB Dokumentation seit Version 10.2.4 ein reserviertes Wort ist.

Beispiel Fehler:

Ein Fehler ist beim Speichern aufgetreten:An exception occurred while executing 'INSERT INTO s_emotion (show_listing, template_id, parent_id, active, name, userID, position, device, fullscreen, valid_from, is_landingpage, seo_title, seo_keywords, seo_description, valid_to, create_date, modified, rows, cols, cell_spacing, cell_height, article_height, mode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [0, 1, null, false, "Test", 50, 1, "0,1,2,3,4", false, null, false, "", "", "", null, "2017-06-14 15:49:25", "2017-06-14 15:49:25", 20, 4, 10, 185, 2, "fluid"]:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'rows, cols, cell_spacing, cell_height, article_height, mode) VALUES (0, 1, NULL,' at line 1

Was für Möglichkeiten habe ich dieses Problem zu beheben?

 

Vielen Dank

Hey Martin,

  1. Möglichkeit Downgrade auf Mariadb 10.2. 10.3 ist eine Alpha. (EMPFOHLEN)

  2. /engine/Shopware/Models/Emotion/Emotion.php öffnen Zeile 250 

    VON: @ORM\Column(name=„rows“, type=„integer“, nullable=false)

ZU:

 @ORM\Column(name="`rows`", type="integer", nullable=false)

 

Proxy Cache leeren und es funktioniert :slight_smile:

3 „Gefällt mir“

Hab auch mal ein Pull-Request dazu erstellt. Fixed mysql error while using MariaDB 10.3 by shyim · Pull Request #1163 · shopware/shopware · GitHub wird wahrscheinlich glaub abgelehnt weil 10.3 eine Alpha ist :slight_smile:

Vielen Dank für die schnelle Antwort! So lässt sich das Problem effektiv beheben, jedoch kann es langfristig durch Updates wohl wieder auftreten.

Als weitere Bemerkung: Die letzte Stable MariaDB Version ist 10.2.6, welche auch bereits ‚rows‘ nicht erlaubt. Das Downgrade auf 10.2.6 werde ich sicherlich durchführen, jedoch benötige ich mindestens Version 10.2.3 aufgrund von bestimmten Features.