MySQL Probleme beim Tabelle erstellen
Hallo,
bin ein aboluter Anfänger in SQL, arbeite gerade mit einem Lehrbuch und komm nicht weiter bei einem Befehl
Ich arbeite mit MySQL ( Version 5.1..24 ) und stoße auf folgendes Problem beim Erstellen der Tabelle.
Den Befehl COMPUTED BY will er einfach nicht akzeptieren und es kommt dann folgende Fehlermeldung:
You have an Error in your SQL syntax, check manual corresponds to your MySQLServer Version for the right syntax to use neartted by (stueck * preis)), at line 5
Es wäre prima wenn mir jemand das verständlich erklären könnte ( bin absoluter Anfänger in diesem Bereich ), damit ich weiter im Lehrbuch arbeiten kann.
bin ein aboluter Anfänger in SQL, arbeite gerade mit einem Lehrbuch und komm nicht weiter bei einem Befehl
Ich arbeite mit MySQL ( Version 5.1..24 ) und stoße auf folgendes Problem beim Erstellen der Tabelle.
CREATE TABLE t_lager
(id INTEGER NOT NULL,
stueck INTEGER DEFAULT 1,
preis FLOAT NOT NULL,
wert **COMPUTED BY**(stueck * preis));
You have an Error in your SQL syntax, check manual corresponds to your MySQLServer Version for the right syntax to use neartted by (stueck * preis)), at line 5
Es wäre prima wenn mir jemand das verständlich erklären könnte ( bin absoluter Anfänger in diesem Bereich ), damit ich weiter im Lehrbuch arbeiten kann.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 147596
Url: https://administrator.de/contentid/147596
Ausgedruckt am: 19.11.2024 um 18:11 Uhr
3 Kommentare
Neuester Kommentar
Hi,
soweit ich weiß, gibt es in MySQL kein COMPUTED. Ist das Buch allgemein über SQL oder für ein bestimmtes Datenbanksystem?
Aber du könntest den Wert z.B. erst im SELECT berechnen, wenn du ihn brauchst. z.B.: SELECT (stueck * preis) AS wert FROM t_lager;
Oder vor dem INSERT berechnen und dann nur den berechneten Wert reinschreiben.
Ersteres hat halt den Nachteil, dass es jedesmal neu berechnet wird und zweiteres, dass du beim Ändern dran denken musst, den Wert auch mit zu ändern.
Gruß
nottrott
soweit ich weiß, gibt es in MySQL kein COMPUTED. Ist das Buch allgemein über SQL oder für ein bestimmtes Datenbanksystem?
Aber du könntest den Wert z.B. erst im SELECT berechnen, wenn du ihn brauchst. z.B.: SELECT (stueck * preis) AS wert FROM t_lager;
Oder vor dem INSERT berechnen und dann nur den berechneten Wert reinschreiben.
Ersteres hat halt den Nachteil, dass es jedesmal neu berechnet wird und zweiteres, dass du beim Ändern dran denken musst, den Wert auch mit zu ändern.
Gruß
nottrott
SQL ist zwar ein Standard, aber es gibt keine Implementation, die sich an den Standard hält.
Sobald du über
Und wie Nottrott schon sagte: MySQL kann kein
So ein Feld holt man sich entweder beim
Sobald du über
SELECT a FROM b
hinaus kommst wird des produktspezifisch.Und wie Nottrott schon sagte: MySQL kann kein
COMPUTED BY
.So ein Feld holt man sich entweder beim
SELECT
oder berechnet es über Trigger.