PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > mysql.general > creating buddy list. request for
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
creating buddy list. request for

Réponse
 
LinkBack Outils de la discussion
Vieux 17/08/2007, 13h59   #1
robert rottermann
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut creating buddy list. request for

hi there,

I have a rather basic problem I would be glad to get some :
What I intend to do is:
- create a person-list
- create a buddy-list
each entry in the person-list can have 0 to many buddies
- when an entry in the person-list is deleted, I would like to
have correspnding entries in the buddies list removed.

This are my tables:

# ---------------------------------------------------------------------- #
# Add table "tblUser" #
# ---------------------------------------------------------------------- #

CREATE TABLE tblUser
(
userDBID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
description VARCHAR(200)
)
ENGINE = InnoDB;

# ---------------------------------------------------------------------- #
# Add table "tblBuddies" #
# ---------------------------------------------------------------------- #

CREATE TABLE tblBuddies (
userDBID INTEGER,
buddyDBID INTEGER,
CONSTRAINT PK_tblBuddies PRIMARY KEY (userDBID, buddyDBID)
)
ENGINE = InnoDB;
CREATE INDEX userDBID_buddyDBID ON tblBuddies (userDBID, buddyDBID);
ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_parent
FOREIGN KEY (userDBID) REFERENCES tblUser (userDBID);

ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_buddy
FOREIGN KEY (buddyDBID) REFERENCES tblUser (userDBID) ON DELETE CASCADE;

When I execute the following statement:
INSERT INTO tblBuddies (userDBID,buddyDBID) VALUES ('test user', 'test user 2');
I get the the error:
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails
(`adhoco_vpn_mapper_test/tblBuddies`, CONSTRAINT `tblBuddies_parent` FOREIGN KEY (`userDBID`) REFERENCES `tblUser`
(`userDBID`))

I would be very gratefull, if somebody could me getting this straigth ( and point me to my missconseptions)

thanks
robert

  Réponse avec citation
Vieux 17/08/2007, 14h13   #2
Martijn Tonies
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: creating buddy list. request for

Hi,

> I have a rather basic problem I would be glad to get some :
> What I intend to do is:
> - create a person-list
> - create a buddy-list
> each entry in the person-list can have 0 to many buddies
> - when an entry in the person-list is deleted, I would like to
> have correspnding entries in the buddies list removed.
>
> This are my tables:
> CREATE TABLE tblUser
> (
> userDBID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
> username VARCHAR(50) NOT NULL UNIQUE,
> description VARCHAR(200)
> )
> ENGINE = InnoDB;
>
> CREATE TABLE tblBuddies (
> userDBID INTEGER,
> buddyDBID INTEGER,
> CONSTRAINT PK_tblBuddies PRIMARY KEY (userDBID, buddyDBID)
> )
> ENGINE = InnoDB;
> CREATE INDEX userDBID_buddyDBID ON tblBuddies (userDBID, buddyDBID);
> ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_parent
> FOREIGN KEY (userDBID) REFERENCES tblUser (userDBID);
>
> ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_buddy
> FOREIGN KEY (buddyDBID) REFERENCES tblUser (userDBID) ON DELETE

CASCADE;
>
> When I execute the following statement:
> INSERT INTO tblBuddies (userDBID,buddyDBID) VALUES ('test user', 'test

user 2');

You are inserting string values, not ID (integer) values. Any reason for
that?

> I get the the error:
> ERROR 1452 (23000): Cannot add or update a child row: a foreign key

constraint fails
> (`adhoco_vpn_mapper_test/tblBuddies`, CONSTRAINT `tblBuddies_parent`

FOREIGN KEY (`userDBID`) REFERENCES `tblUser`
> (`userDBID`))
>
> I would be very gratefull, if somebody could me getting this straigth

( and point me to my missconseptions)

Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com

  Réponse avec citation
Vieux 17/08/2007, 15h15   #3
robert rottermann
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: creating buddy list. request for

Martijn Tonies schrieb:
> Hi,
>
>> I have a rather basic problem I would be glad to get some :
>> What I intend to do is:
>> - create a person-list
>> - create a buddy-list
>> each entry in the person-list can have 0 to many buddies
>> - when an entry in the person-list is deleted, I would like to
>> have correspnding entries in the buddies list removed.
>>
>> This are my tables:
>> CREATE TABLE tblUser
>> (
>> userDBID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
>> username VARCHAR(50) NOT NULL UNIQUE,
>> description VARCHAR(200)
>> )
>> ENGINE = InnoDB;
>>
>> CREATE TABLE tblBuddies (
>> userDBID INTEGER,
>> buddyDBID INTEGER,
>> CONSTRAINT PK_tblBuddies PRIMARY KEY (userDBID, buddyDBID)
>> )
>> ENGINE = InnoDB;
>> CREATE INDEX userDBID_buddyDBID ON tblBuddies (userDBID, buddyDBID);
>> ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_parent
>> FOREIGN KEY (userDBID) REFERENCES tblUser (userDBID);
>>
>> ALTER TABLE tblBuddies ADD CONSTRAINT tblBuddies_buddy
>> FOREIGN KEY (buddyDBID) REFERENCES tblUser (userDBID) ON DELETE

> CASCADE;
>> When I execute the following statement:
>> INSERT INTO tblBuddies (userDBID,buddyDBID) VALUES ('test user', 'test

> user 2');
>
> You are inserting string values, not ID (integer) values. Any reason for
> that?
>

yes! blunt stupidity!
(the insert was actually created programmatically, but I should have
seen it myself)
thanks
robert

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 04h13.


Édité par : vBulletin® version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,09879 seconds with 11 queries