T
Tobias Köhler
Hallo.
Datenbanken sind für mich noch neues Gebiet. Daher sicherlich eine einfache Frage, die mich aber ziemlich aufhält^^
Ich habe folgende Datenbankstruktur:
Nun habe ich das Problem, dass, wenn ich Daten einfüge, Sachen gemacht werden, die ich nicht möchte^^
Etwas konkreter:
Ich füge Dummydaten ein:
So, weiter bin ich mit dem Einfügen noch nicht, denn hier tritt der Fehler bereits auf....
Was ich möchte:
automatisches Hochzählen der Primary Keys, automatisches Verweisen auf Foreign Keys, keine Angabe von Keys in meinen Inserts.
Was ich habe:
Ich füge momentan selber die Keys ein(ist doch nicht Sinn und Zweck der Sache, oder^^)
bei ERP_ARTICLE füge ich als FK für CLASS-ID ne 2 ein, die es ja eindeutig nicht gibt..... Dies ist aber zulässig... Ich blick da noch nicht durch. Wie kann ich mein Vorhaben durchführen? Habt ihr Tipps für mich? Zusatzfrage: Ist das DB-Modell so eigentlich ok?^^
Datenbanken sind für mich noch neues Gebiet. Daher sicherlich eine einfache Frage, die mich aber ziemlich aufhält^^
Ich habe folgende Datenbankstruktur:
Code:
/* Datenbank anlegen */
CREATE DATABASE IF NOT EXISTS
`bonusberechnung` DEFAULT CHARACTER SET ascii COLLATE ascii_general_ci;
/* Tabellen anlegen */
CREATE TABLE ERP_CLASS(
CLASS_ID INT NOT NULL AUTO_INCREMENT,
CLASSNAME VARCHAR(20),
PRIMARY KEY(CLASS_ID)
);
CREATE TABLE ERP_ARTICLE(
ARTICLE_ID INT NOT NULL AUTO_INCREMENT,
CLASS_ID INT, ORDER_NR INT,
NOTATION VARCHAR(200), TYPE VARCHAR(10),
PRIMARY KEY(ARTICLE_ID),
INDEX(CLASS_ID),
FOREIGN KEY(CLASS_ID) REFERENCES ERP_CLASS(CLASS_ID)
);
CREATE TABLE ERP_DG_LOT(
DG_LOT_ID INT NOT NULL AUTO_INCREMENT,
ARTICLE_ID INT, DG_LOT_NAME VARCHAR(200),
PRIMARY KEY(DG_LOT_ID),
INDEX(ARTICLE_ID),
FOREIGN KEY(ARTICLE_ID) REFERENCES ERP_ARTICLE(ARTICLE_ID)
);
CREATE TABLE ERP_DG_FORMAT(
DG_FORMAT_ID INT NOT NULL AUTO_INCREMENT,
X INT, Y INT,
PRIMARY KEY(DG_FORMAT_ID)
);
CREATE TABLE ERP_DG_PRODUCTION(
DG_PRODUCTION_ID INT NOT NULL AUTO_INCREMENT,
DG_LOT_ID INT, DG_FORMAT_ID INT,
DG_PRODUCTION_DATE VARCHAR(100),
DG_COUNT INT, DG_RELEASE VARCHAR(10),
DG_AREA INT,
PRIMARY KEY(DG_PRODUCTION_ID),
INDEX(DG_LOT_ID, DG_FORMAT_ID),
FOREIGN KEY(DG_LOT_ID) REFERENCES ERP_DG_LOT(DG_LOT_ID),
FOREIGN KEY(DG_FORMAT_ID) REFERENCES ERP_DG_FORMAT(DG_FORMAT_ID)
);
Nun habe ich das Problem, dass, wenn ich Daten einfüge, Sachen gemacht werden, die ich nicht möchte^^
Etwas konkreter:
Ich füge Dummydaten ein:
Code:
INSERT INTO ERP_DG_FORMAT VALUES(1, 76, 26);
INSERT INTO ERP_CLASS VALUES(1, 'FD')
INSERT INTO ERP_ARTICLE VALUES(1, 2, 1250, 'Leber Affe', 'DG')
So, weiter bin ich mit dem Einfügen noch nicht, denn hier tritt der Fehler bereits auf....
Was ich möchte:
automatisches Hochzählen der Primary Keys, automatisches Verweisen auf Foreign Keys, keine Angabe von Keys in meinen Inserts.
Was ich habe:
Ich füge momentan selber die Keys ein(ist doch nicht Sinn und Zweck der Sache, oder^^)
bei ERP_ARTICLE füge ich als FK für CLASS-ID ne 2 ein, die es ja eindeutig nicht gibt..... Dies ist aber zulässig... Ich blick da noch nicht durch. Wie kann ich mein Vorhaben durchführen? Habt ihr Tipps für mich? Zusatzfrage: Ist das DB-Modell so eigentlich ok?^^