In der H2-Datenbank, fügen Sie index während der Erstellung der Tabelle in der Abfrage
Ich versuche zu Tabelle erstellen mit unterschiedlichen Indizes mit einzelnen Abfrage aber H2-Fehler gibt zum Beispiel:
create table tbl_Cust
(
id int primary key auto_increment not null,
fid int,
c_name varchar(50),
INDEX (fid)
);
aber dieser Fehler gibt als
Unknown data type: "("; SQL statement:
[Error Code: 50004]
[SQL State: HY004]
Durch dieses habe ich zu laufen 2 verschiedene Abfragen zum erstellen der Tabelle mit Index. Erste Abfrage zu erstellen, die Tabelle und dann die zweite Abfrage hinzufügen index mit
create INDEX c_fid on tbl_Cust(fid);
Gibt es etwas falsch in meiner Abfrage oder H2 einfach nicht unterstützen diese Erstellung der Tabelle mit dem index in einzelne Abfrage?
- Es gibt keine
index
option in dercreate table
Aussage, die eindeutig in der Betriebsanleitung dokumentiert: h2database.com/html/grammar.html#create_table - Ich finde nicht die Zeile, die besagt, dass index-option nicht beim erstellen der Tabelle. Kannst du mal die Zeile hier.
- Blick auf die syntax-Diagramm ("Grafik") für die Anweisung. Es gibt keine
index
Schlüsselwort in gibt. - Ok danke Mann.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Interessante Frage. Die Lösung ist umso interessanter, da es sich um MySQL Kompatibilitätsmodus.
Es ist tatsächlich möglich, führen Sie die exakt gleichen Befehl, den Sie schrieb ohne jede änderung, vorausgesetzt, Sie fügen Sie einfach zu Ihrem jdbc-url in den MySQL-Modus.
Beispiel-URL wie diese:
jdbc:h2:mem:;mode=mysql
SQL bleibt:
create table tbl_Cust
(
id int primary key auto_increment not null,
fid int,
c_name varchar(50),
INDEX (fid)
);
Update count: 0
(15 ms)
Schade, ich konnte nicht sehen, diese Frage früher... Hoffentlich die Lösung könnte hilfreich sein, eines Tages an jemanden 🙂
Ich konnte das problem lösen. Nach
http://www.h2database.com/html/grammar.html#create_index
Ich veränderte die Abfrage. Es funktioniert gut mit meinem H2-server.