IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Création d'une table avec clé étrangère?


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut Création d'une table avec clé étrangère?
    Bonsoir

    je veux créer une table"enchères3" avec une clé étrangère "id_donnes_players" qui référence à une clé primaire "id" de la table "players"
    j'ai donc repris ce code (que je n'ai pas inventé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
     
    include("/ConnexionBaseTest.php");
    $nameTable= 'encheres3'.time();
    $connexion=connexionBaseTest();
     
    function CreateTable($nameTable){
    	echo '<br> Création de la table :'.$nameTable.'<br/>';
    	global $connexion;
    	 // on vérifie que la connexion est bonne
    	if($connexion){
    		// on crée la requête 
     		$requete="CREATE TABLE $nameTable(
    			id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    			id_donnes_players INT(11) UNSIGNED NOT NULL,
    			nord VARCHAR(6) NOT NULL,
    			est VARCHAR(6) NOT NULL,
    			sud VARCHAR(6) NOT NULL,
    			ouest VARCHAR(6) NOT NULL,
    			FOREIGN KEY (id_donnes_players)	REFERENCES players(id))
    			ENGINE = InnoDB";
    		// on prépare et on exécute la requête
    		$connexion->prepare($requete)->execute();
    	}
     }
     
    createTable($nameTable);
    ?>
    est impossible de voir ce qui n'est pas bon j'ai toujours le message suivant
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1005 Can't create table `test`.`encheres31494021517` (errno: 150 "Foreign key constraint is incorrectly formed")' in C:\xampp\htdocs\testPHP\Bridgez\BaseDonnee\CreateEncheres3.php:23 Stack trace: #0 C:\xampp\htdocs\testPHP\Bridgez\BaseDonnee\CreateEncheres3.php(23): PDOStatement->execute() #1 C:\xampp\htdocs\testPHP\Bridgez\BaseDonnee\CreateEncheres3.php(27): CreateTable('encheres3149402...') #2 {main} thrown in C:\xampp\htdocs\testPHP\Bridgez\BaseDonnee\CreateEncheres3.php on line 23

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 893
    Points
    38 893
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Assurez vous que la colonne "id" existe bien dans la table "PLAYER", qu'elle est de même type et de même longueur que la colonne "id_donnes_players' de votre table "ENCHERE3" est qu'elle est bien une clef unique dans la table "PLAYER"

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    merci

    la clé primaire "id" de "player" n'était pas déclaré comme UNSIGNED

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une table avec contrainte
    Par sofiane_bfm007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/10/2008, 00h17
  2. Réponses: 4
    Dernier message: 22/11/2007, 19h23
  3. [OpenOffice] API : Création d'une table avec image
    Par darkendorf dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 06/11/2007, 11h26
  4. Création d'une table avec foreign key.
    Par Paulinho dans le forum Débuter
    Réponses: 6
    Dernier message: 01/12/2005, 18h47
  5. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo