Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[mySQL]duplicate entry

Pagina: 1
Acties:

  • crazyheinz
  • Registratie: Juni 2006
  • Laatst online: 29-09 17:32
Ik krijg deze error bij element 'CR76' in mijn tabel die 2 keer voorkomt.
Maar aangezien dit een primary key is, zou deze error toch niet mogen voorkomen?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# tabel interviews aanmaken
create table interviews (
    client_no varchar(10) PRIMARY key,
    interview_date varchar(20),
    interview_time varchar(10),
    room_no varchar(10),
    staff_id int AUTO_INCREMENT not null, 
    foreign key(staff_id) REFERENCES staff(staff_id),
    foreign key (client_no) REFERENCES clients(client_no)

);

INSERT INTO interviews(client_no, interview_date, interview_time, room_no) values
    ('CR76','21-sept-06','10:30','G101'),
    ('CR56','03-oct-06','12:00','G101'),
    ('CR74','15-oct-06','10:30','G102'),
    ('CR55','17-oct-06','14:00','G101'),
    ('CR53','20-oct-06','16:30','G103'),
    ('CR76','23-oct-06','10:00','G101');


client_no gebruik ik ook in een andere tabel:

code:
1
2
3
4
5
6
7
8
9
10
11
# tabel clients aanmaken
create table clients (
    client_no varchar(10) PRIMARY key,
    client_name varchar(60)
);

INSERT INTO clients(client_no, client_name) values
    ('CR76','Johnson'),
    ('CR75','Cook'),
    ('CR74','Miller'),
    ('CR73','Sussman');


Waarsschijnlijk zit er een fout in mijn redenering, maar ik krijg het maar niet opgelost...

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 14:41

Reinier

\o/

Je probeert 'CR76' tweemaal in de tabel te stoppen want niet mag omdat dat veld een primary key is. Dan klopt de melding toch :?

Volgens mij wil je in de interviewtabel een veld "interview_id" o.i.d. hebben als primary key ;)

[ Voor 28% gewijzigd door Reinier op 21-11-2007 16:57 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:10

Creepy

Tactical Espionage Splatterer

Waaom is client_no in de tabel interviews een primary key? Kan elke client maar maximaal 1 interview hebben dan?
En inderdaad, een primary key dient altijd uniek te zijn. Dus die kan niet twee keer voorkomen.

[ Voor 30% gewijzigd door Creepy op 21-11-2007 16:58 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Juist wel, een primary key MOET uniek zijn.

Going for adventure, lots of sun and a convertible! | GMT-8


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

:?
client_no is je primary key
Je probeert 2x hetzelfde client_no te inserten en je krijgt een duplicate key foutmelding van MySQL.

Wat is daar gek aan?

Who is John Galt?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je wil overigens wel een index op client_no, maar geen primary key index. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1