Guten Abend,
ich habe folgende MySQL-Anweisungen:
CREATE TABLE Eintrag
(e_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
t_id INTEGER NULL,
verfassername VARCHAR(60) NULL,
erstellungsdatum DATE NULL,
titel VARCHAR(80) NULL,
text VARCHAR(4000) NULL
);
CREATE UNIQUE INDEX XPKEintrag
ON Eintrag
(
e_id ASC
);
CREATE TABLE Themengebiet
(t_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
t_beschreibung VARCHAR(150) NULL,
t_version INTEGER NOT NULL AUTO_INCREMENT
);
CREATE UNIQUE INDEX XPKThemengebiet
ON Themengebiet
(
t_id ASC
);
ALTER TABLE Eintrag
ADD CONSTRAINT R_0 FOREIGN KEY (t_id)
REFERENCES Themengebiet
ON DELETE SET NULL
;
Das Problem ist das Attribut t_version. t_version muss ein Zähler sein. MySQL erlaubt aber nichtg mehr als einen Zähler in einer Tabelle, und auch nur dann, wenn es ein Primary Key ist:
"ERROR 1075 (42000) at line 18: Incorrect table definition; there can be only one auto column and it must be defined as a key"
Ein normales Feld als PK zu definieren, nur weil MySQL so konzipiert ist, kommt nicht in Frage.
Welche Möglichkeiten habe ich?
Markus
