Ich entwickle ein Werkzeug, das Daten in on-the-fly generierte Schema importiert. Daher habe ich wenig Kontrolle darüber, wie die Tabellen- oder Spaltennamen aussehen werden. Ich bin kürzlich auf ein Problem mit dem Erstellen von 2 Spalten in der Tabelle gestoßen, die den gleichen Namen, aber andere Groß-/Kleinschreibung haben. Das Problem bei dieser einfachstenen DDL-Operation nachgewiesen werden kann: als h2 KonsoleH2-Tabellenspalten nicht berücksichtigt Fall, wenn double-quoted
CREATE TABLE "a" (
"c1" integer,
"C1" integer
)
Dies scheitert auch für mich in dem Programm mit:
doppelte Spaltenname "C1"; SQL-Anweisung: create table „a“ („c1“ integer „C1“ integer)
Dies funktioniert in PostgreSQL zum Beispiel gut und ich denke, es sollte als die SQL-Spezifikation arbeiten erfordert Groß- und Kleinschreibung, wenn Werte doppelt zitiert.
Ich verwende derzeit In-Memory-H2-Datenbank.
EDIT: Es läuft der Grund heraus wurde die Verbindung mit der Option festgelegt wurde DATABASE_TO_UPPER=false
, die dieses Verhalten
prost, vielen Dank für –
Spek ich EoinS akzeptierte Antwort, wie er richtig ist, die Säulen sind Groß- und Kleinschreibung und er demontrated, dass die Funktionalität Werke . –
Danke @JanZyka, ich war mir nicht sicher, was genau das Problem war, aber ich stellte fest, dass es etwas war, bevor die SQL ausgeführt wurde, ein Vorverarbeitungsproblem. Ich werde meine Antwort aktualisieren, um spezifischer zu sein und die Verbindung zu erwähnen, so dass zukünftige Benutzer das zuerst betrachten können – EoinS