Hallo zusammen.
Ich habe da eine Frage.
Wenn ich mit folgendem SQL-Statement eine Tabelle erstelle in SQLite,
und dann per JDBC abfrage, "Gib mir mal alle Primärschlüssel-Spalten" undzwar mit der Methode "getPrimaryKeys(String catalog, String schema, String tablename)" über die DatabaseMetaData, bekomme ich lediglich nur einen einzigen primärschlüssel zurück. Die anderen im Create-Statement angegebenen Primärschlüsselfelder werden lediglich als Not Nullable angezeigt.
Hier nun das Create-Statement:
CREATE TABLE Test (id Integer(255), foreignkey Integer(255), text Varchar(1000), PRIMARY KEY(id, foreignkey));
Merkwürdig finde ich auch, dass wenn ich id ausschließlich "klein" schreibe, bekommt die Datenbank es gebacken, id als Primärschlüssel zu machen.
Wenn ich id mit nur einem einzigen Großbuchstaben schreibe zb. "ID" oder "iD" oder "Id", dann bekomme ich keinen Primärschlüssel zurück und "Id" ist dann auch nurnoch Not Nullable.
Selbst wenn ich PRIMARY KEY direkt zur Spalte definiere also (id Integer PRIMARY KEY, ...) ist dies der Fall.
Diese Vorkommnisse betreffen nur die SQLite Datenbank und mit MySQL, H2 sowie MSSQL treten diese Fehler nicht auf. Eine PostgreSQL Datenbank habe ich leider noch nicht testen können.
Ich habe da eine Frage.
Wenn ich mit folgendem SQL-Statement eine Tabelle erstelle in SQLite,
und dann per JDBC abfrage, "Gib mir mal alle Primärschlüssel-Spalten" undzwar mit der Methode "getPrimaryKeys(String catalog, String schema, String tablename)" über die DatabaseMetaData, bekomme ich lediglich nur einen einzigen primärschlüssel zurück. Die anderen im Create-Statement angegebenen Primärschlüsselfelder werden lediglich als Not Nullable angezeigt.
Hier nun das Create-Statement:
CREATE TABLE Test (id Integer(255), foreignkey Integer(255), text Varchar(1000), PRIMARY KEY(id, foreignkey));
Merkwürdig finde ich auch, dass wenn ich id ausschließlich "klein" schreibe, bekommt die Datenbank es gebacken, id als Primärschlüssel zu machen.
Wenn ich id mit nur einem einzigen Großbuchstaben schreibe zb. "ID" oder "iD" oder "Id", dann bekomme ich keinen Primärschlüssel zurück und "Id" ist dann auch nurnoch Not Nullable.
Selbst wenn ich PRIMARY KEY direkt zur Spalte definiere also (id Integer PRIMARY KEY, ...) ist dies der Fall.
Diese Vorkommnisse betreffen nur die SQLite Datenbank und mit MySQL, H2 sowie MSSQL treten diese Fehler nicht auf. Eine PostgreSQL Datenbank habe ich leider noch nicht testen können.