Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Moderator: Moderatoren
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Nach einem Stromausfall und Verlust einiger Daten habe ich auf Frontend Backend JDBC / hsqldb umgestellt. Leider hatte der Autocounter bei der ID anscheinend schon vorher 5 Ziffern übersprungen . Statt von 1000 auf 1001 ist er auf 1005 gesprungen. Außerdem wird seit einigen Datensätzen das Erstellungsdatum nicht mehr automatisch gesetzt.
Habe auch dieses manuell in einer Exporttabelle geändert. Diese korrigierte Tabelle habe ich unter einem anderen Tabellennamen auch erfolgreich importieren können. Nur der Versuch der korrigierten Tabelle den Namen der alten Tabelle zu geben und die alte zu löschen scheitert. Ich finde keine Möglichkeit die Tabellen umzubenennen. Dabei ist mir auch aufgefallen das sich bei Tabelle bearbeiten auch keine Änderungen vornehmen lassen.
Ist das bei JDBC / hsqldb so gewollt oder gibt es doch noch eine Möglichkeit die Tabellen umzubenennen?
Danach wollte ich über extras den SQL Befehl ALTER `meineTabelle` MODIFY `meineTimestampSpalte` TIMESTAMP DEFAULT CURRENT_TIMESTAMP eingeben um wieder Aktuelles Datum als Vorgabewert für neuen Datensatz zu erhalten. Bin mir aber nicht sicher ob das richtig ist. Dieser Befehl muss angeblich nur 1 x ausgeführt werden damit später bei jedem Datensatz automatisch das heutige Datum gesetzt wird.
Habe auch dieses manuell in einer Exporttabelle geändert. Diese korrigierte Tabelle habe ich unter einem anderen Tabellennamen auch erfolgreich importieren können. Nur der Versuch der korrigierten Tabelle den Namen der alten Tabelle zu geben und die alte zu löschen scheitert. Ich finde keine Möglichkeit die Tabellen umzubenennen. Dabei ist mir auch aufgefallen das sich bei Tabelle bearbeiten auch keine Änderungen vornehmen lassen.
Ist das bei JDBC / hsqldb so gewollt oder gibt es doch noch eine Möglichkeit die Tabellen umzubenennen?
Danach wollte ich über extras den SQL Befehl ALTER `meineTabelle` MODIFY `meineTimestampSpalte` TIMESTAMP DEFAULT CURRENT_TIMESTAMP eingeben um wieder Aktuelles Datum als Vorgabewert für neuen Datensatz zu erhalten. Bin mir aber nicht sicher ob das richtig ist. Dieser Befehl muss angeblich nur 1 x ausgeführt werden damit später bei jedem Datensatz automatisch das heutige Datum gesetzt wird.
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Hallo Anfänger007,
hast Du die Tabelle irgendwo in Extras → Beziehungen stehen? Dann kann sie nicht gelöscht werden. Du musst zuerst die Beziehungen lösen und dann löschen.
Auch wenn aus einer Ansicht auf die Tabelle zugegriffen wird kannst Du sie nicht löschen. Du musst zuerst die Ansicht entfernen (irgendwo den SQL-Code als Text zwischenspeichern) um die Tabelle zu löschen.
Wenn der Autocounter, wie Du ihn nennst, Zahlen scheinbar überspringt, dann liegt das in der Regel daran, dass die Datensätze schon existiert haben, aber anscheinend gelöscht wurden. Du kannst den AutoWert auf jede beliebige Startzahl zurücksetzen:
Gruß
Robert
hast Du die Tabelle irgendwo in Extras → Beziehungen stehen? Dann kann sie nicht gelöscht werden. Du musst zuerst die Beziehungen lösen und dann löschen.
Auch wenn aus einer Ansicht auf die Tabelle zugegriffen wird kannst Du sie nicht löschen. Du musst zuerst die Ansicht entfernen (irgendwo den SQL-Code als Text zwischenspeichern) um die Tabelle zu löschen.
Wenn der Autocounter, wie Du ihn nennst, Zahlen scheinbar überspringt, dann liegt das in der Regel daran, dass die Datensätze schon existiert haben, aber anscheinend gelöscht wurden. Du kannst den AutoWert auf jede beliebige Startzahl zurücksetzen:
Code: Alles auswählen
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH <neuer_Feldwert>
Robert
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Hallo Robert vielen Dank für deine schnelle Antwort. Sobald ich die Tabelle umbenannt habe werden ich das mit dem Autowert ausprobieren.
Aber das umbenennen ist das Problem. Ich habe weder die Tabelle in Extras in Beziehungen stehen noch eine Ansicht. Es wird bei der Tabelle zwar bei der Rechten Maustaste die Möglichkeit zu löschen angeboten. Aber nicht zum umbenennen. Ich könnte wetten das dort früher auch die Möglichkeit Umbenennen stand( Bevor ich in Frontend Backend aufgeteilt habe). Gibt es eine andere Möglichkeit die Tabelle umzubenennen? Woran könnte es noch liegen das ich die Tabellen selbst auch nicht mehr bearbeiten kann? Die Schrift wird dabei in einer Art Geisterschrift dargestellt.
Aber das umbenennen ist das Problem. Ich habe weder die Tabelle in Extras in Beziehungen stehen noch eine Ansicht. Es wird bei der Tabelle zwar bei der Rechten Maustaste die Möglichkeit zu löschen angeboten. Aber nicht zum umbenennen. Ich könnte wetten das dort früher auch die Möglichkeit Umbenennen stand( Bevor ich in Frontend Backend aufgeteilt habe). Gibt es eine andere Möglichkeit die Tabelle umzubenennen? Woran könnte es noch liegen das ich die Tabellen selbst auch nicht mehr bearbeiten kann? Die Schrift wird dabei in einer Art Geisterschrift dargestellt.
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Hi,
dann einmal Ansicht/Tabellen aktualisieren.
HTH R
Ja gibt es:Anfänger007 hat geschrieben:Gibt es eine andere Möglichkeit die Tabelle umzubenennen?
Code: Alles auswählen
ALTER TABLE "Tabelle1" RENAME TO "Tabelle2"
HTH R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Hallo F3k Total dank deinem Tipp hat das umbenennen schon mal funktioniert. Kann bei Tabelle bearbeiten immer noch keine Änderungen vornehmen. Immer noch Geisterschrift bei den Eigenschaften.
@ Robert erhalte bei
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH <neuer_Feldwert>
leider folgende Fehlermeldung:
1: Unexpected token: < in statement [ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH <]
@ Robert erhalte bei
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH <neuer_Feldwert>
leider folgende Fehlermeldung:
1: Unexpected token: < in statement [ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH <]
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
@Robert habe gerade festgestellt das der Autowert bei Tabelle bearbeiten auf NEIN steht. Vielleicht kommt deshalb die Fehlermeldung mit dem Token? Leider lässt sich das NEIN nicht in ein JA ändern. Geisterschrift. Gibt es eine andere Möglichkeit den Autowert in der Tabelle von NEIN auf JA zu ändern?
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Moin,keine weiteren Zeichen um die Zahl. Natürlich darf die Zahl nicht existieren.
Und:
Mit der gesplitteten Version kannst Du die Tabellen nur mit SQL-Befehlen ändern!
Beispiele:
Tabellenspalte umbenennen
Tabellenspalte an Position einfügen
wobei COLUMNTYPE z.B.
View erzeugen (einfaches Beispiel)
View löschen
Gruß R
Code: Alles auswählen
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH 1000
Und:
Mit der gesplitteten Version kannst Du die Tabellen nur mit SQL-Befehlen ändern!
Beispiele:
Tabellenspalte umbenennen
Code: Alles auswählen
ALTER TABLE TABLENAME ALTER COLUMNNAME RENAME TO NEWCOLUMNNAME
Code: Alles auswählen
ALTER TABLE TABLENAME ADD COLUMNNAME COLUMNTYPE BEFORE OTHERCOLUMN;
- INTEGER
- VARCHAR(50) für einen Text mit 50 Zeichen
- DATE
- DECIMAL(12,2) für eine Dezimalzahl mit 12 Stellen, davon 1 Komma und zwei Nachkommastellen
- u.s.w sein kann
Code: Alles auswählen
ALTER TABLE TABLENAME DROP COLUMNNAME;
Code: Alles auswählen
CREATE VIEW TESTVIEW (ID_P, NAME, VORNAME) AS SELECT ID_P, NAME, VORNAME
FROM TBL_PILOTEN;
Code: Alles auswählen
DROP VIEW VIEWNAME
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
... und den Autowert kannst du so einstellen:
Gruß R
Code: Alles auswählen
alter Table "Main_Table" ADD PRIMARY KEY ("ID");
alter Table "Main_Table" alter column "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
@F3K Total Habe erst
alter Table "Tabellenname" alter column "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY
dann
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH wunsch_zahl_als_reine_zahl
durchgeführt und jedesmall Ansicht Tabelle aktualiesieren. Es funktioniert.
VIELEN VIELEN DANK.
Auch für die Info das eine gesplittete Datenbank NUR über SQL geändert werden kann!!!
Um wieder Aktuelles Datum als Vorgabewert für neuen Datensatz zu erhalten wollte ich über extras den SQL Befehl
ALTER "Tabellenname" MODIFY "meineTimestampSpalte" TIMESTAMP DEFAULT CURRENT_TIMESTAMP eingeben .
Erhalte aber folgende Fehlermeldung
1: Unexpected token: Tabellenname in statement [ALTER "Tabellenname"]
Liegt das daran das bereits alle alten Datensätze ein aktuelles Datum (unterschiedliche je nach Erstellung) haben? Was mache ich falsch?
alter Table "Tabellenname" alter column "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY
dann
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" RESTART WITH wunsch_zahl_als_reine_zahl
durchgeführt und jedesmall Ansicht Tabelle aktualiesieren. Es funktioniert.
VIELEN VIELEN DANK.
Auch für die Info das eine gesplittete Datenbank NUR über SQL geändert werden kann!!!
Um wieder Aktuelles Datum als Vorgabewert für neuen Datensatz zu erhalten wollte ich über extras den SQL Befehl
ALTER "Tabellenname" MODIFY "meineTimestampSpalte" TIMESTAMP DEFAULT CURRENT_TIMESTAMP eingeben .
Erhalte aber folgende Fehlermeldung
1: Unexpected token: Tabellenname in statement [ALTER "Tabellenname"]
Liegt das daran das bereits alle alten Datensätze ein aktuelles Datum (unterschiedliche je nach Erstellung) haben? Was mache ich falsch?
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
Hallo Anfänger007
Und wenn Du jetzt statt <Standardwert> CURRENT_TIMESTAMP oder NOW einfügst, dann klappt das auch. Die spitzen Klammern sind nicht Teil des Codes, sondern zeigen an: Hier muss etwas anderes stehen.
Gruß
Robert
Woher hast Du den Code? Der hat nichts mit der eingebauten HSQLDB zu tun.Anfänger007 hat geschrieben: ALTER "Tabellenname" MODIFY "meineTimestampSpalte" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Code: Alles auswählen
ALTER TABLE "Tabellenname" ALTER COLUMN "Feldname" SET DEFAULT <Standardwert>;
Gruß
Robert
-
- ***
- Beiträge: 74
- Registriert: Mi, 02.10.2013 09:00
Re: Tabellen lassen sich nicht mehr umbenennen / bearbeiten
@Robert. Vielen Dank. Im Moment bin ich mir garnicht mehr so sicher ob ich NOW oder TIMESTAMP benutzen soll. In der Tabelle sind die alten Werte folgender massen aufgeführt 27.03.14 (tt.mm.yy). Ich glaube bei NOW gekomme ich auch die Stunden etc angezeigt. Aber die brauche ich nicht. Das Datum reicht mir.
Habe deshalb
ALTER TABLE "Tabellenname" ALTER COLUMN "meineTimestampSpalte" SET DEFAULT CURRENT_DATE
bei Extras - SQL eingetragen, Ansicht Tabelle aktualisiert und es funktioniert.
Auch dir VIELEN VIELEN DANK
Habe deshalb
ALTER TABLE "Tabellenname" ALTER COLUMN "meineTimestampSpalte" SET DEFAULT CURRENT_DATE
bei Extras - SQL eingetragen, Ansicht Tabelle aktualisiert und es funktioniert.
Auch dir VIELEN VIELEN DANK