Announcement

Collapse
No announcement yet.

Abfrage Prüfen ob Datensatz schon vorhanden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage Prüfen ob Datensatz schon vorhanden

    Hallo
    will mit Hibernate eine DB (H2), um Dublikate zu vermeiden will ich erst prüfen ob der Kunde schon eingetragen ist. Wenn ja dann seine Werte in einer Liste zusammenfassen sprich:

    Pruf ob der Kunde mit Namen XY schon gespeichert ist, wenn nein füge ihn an, wenn ja dann nimm diese weiteren Werte in seinen Listen auf.

    sprich: if (Select from * where name gleich XY = NIL) Insert ganzen Datensatz
    else Insert Bestellungsliste "Pizza"

    Bin für jede Hilfe dankbar

  • #2
    Hallo,

    ich gehe mal davon, dass du einen M:N beziehung ausdrücken willst. Das heißt, ein Kunde kann mehrere Sachen bestellen und eine Sach kann von mehrerern Kunde bestellt werden, oder?

    Deshalb brauchst du auf jeden Fall drei Tabellen. Ich hab dir mal ein Muster zum Erstellen gemacht.

    Code:
    create table kunden(
    kundennummer int(5) primary key auto_increment,
    nname char(25) unique
    )
    engine = innodb;
    
    
    create table moeglichkeiten(
    moegid int(5) primary key,
    bezeichnung char(25)
    )
    engine = innodb;
    
    
    create table hat_bestellt (
    kunde int(5),
    moegid int(5),
    foreign key (kunde) references kunden(kundennummer),
    foreign key (moegid) references moeglichkeiten(moegid)
    )
    engine = innodb;
    
    insert into moeglichkeiten values (1, 'Pizza');
    insert into moeglichkeiten values (2, 'Salami');
    insert into moeglichkeiten values (3, 'Döner');
    wenn du jetzt eine bestellung aufgibst überprüfst du ob der name schon vorhanden ist, wenn nciht wird ein neuer kunde angelegt:
    Code:
    replace into kunden(nname) values ('Kundenreins');
    Anschließend fügst du die Bestellung des Kunden ein:
    Code:
    insert into hat_bestellt select kundennummer, (select moegid from moeglichkeiten where bezeichnung ='Pizza') from kunden where nname = 'Kundenreins';

    Comment

    Working...
    X