SQL foreign key (insert question)
KANONJI
Messages postés
17
Statut
Membre
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,
j'ai crée 2 tables, UserInfo et ObjectInfo. Je souhaite que la table ObjectInfo soit liée à la table UserInfo via l'info Pseudo.
J'ai donc utilisé une clé étrangère comme ci-dessous:
Ensuite, je veux insérer des informations dans ces deux tables, l'objectif etant de remplir une seule fois la table UserInfo et une ou plusieurs fois la table ObjectInfo.
Je vous passe les boucles, j'ai pris un ex 1 table UserInfo et 1 table ObjectInfo
Quand je regarde avec EasyPHP le contenu de ma table ObjectInfo, l'element UserId vaut 0 alors que je m'attendais à avoir la valeur de Pseudo de la table UserInfo.
Est ce que que quelqu'un a une idée pour résoudre ce problème ?
Je suis assez débutant dans le domaine. Merci d'avance
Kanonji
j'ai crée 2 tables, UserInfo et ObjectInfo. Je souhaite que la table ObjectInfo soit liée à la table UserInfo via l'info Pseudo.
J'ai donc utilisé une clé étrangère comme ci-dessous:
$sql1="CREATE TABLE IF NOT EXISTS 'MyData'.'UserInfo' (
'Pseudo' varchar(20) NOT NULL,
'Mail' varchar(40) NOT NULL,
'Sex' varchar(10) NOT NULL,
'Age' int(4) NOT NULL,
'Country' varchar(40) NOT NULL,
PRIMARY KEY ('Pseudo')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
$sql2="CREATE TABLE IF NOT EXISTS 'MyData'.'ObjectInfo' (
'Coordinates' varchar(9) NOT NULL,
'UserId' int(7) NOT NULL,
'Color' varchar(8) NOT NULL,
PRIMARY KEY ('Coordinates'),
FOREIGN KEY ('UserId') REFERENCES 'MyData'.'UserInfo'('Pseudo')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
Ensuite, je veux insérer des informations dans ces deux tables, l'objectif etant de remplir une seule fois la table UserInfo et une ou plusieurs fois la table ObjectInfo.
Je vous passe les boucles, j'ai pris un ex 1 table UserInfo et 1 table ObjectInfo
$sqlreq1="INSERT INTO 'MyData'.'UserInfo' (
'Pseudo',
'Mail',
'Sex',
'Age',
'Country'
)
VALUES (
'$_POST[pseudo]','$_POST[email]','$_POST[sex]','$_POST[age]','$_POST[country]'
);";
---> aucun problème pour cette commande
$sqlreq2="INSERT INTO 'MyData'.'ObjectInfo' (
'Coordinates',
'UserId',
'Color',
)
VALUES (
'$x:$y','$_POST[pseudo]','$_POST[colorchoice]'
);";
Quand je regarde avec EasyPHP le contenu de ma table ObjectInfo, l'element UserId vaut 0 alors que je m'attendais à avoir la valeur de Pseudo de la table UserInfo.
Est ce que que quelqu'un a une idée pour résoudre ce problème ?
Je suis assez débutant dans le domaine. Merci d'avance
Kanonji
A voir également:
- SQL foreign key (insert question)
- Key windows 10 - Guide
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Wifi key:8gsq98turi3kvu73ujju - Forum Logiciels
- Wic reset key 16 characters free ✓ - Forum Imprimante