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é)
est impossible de voir ce qui n'est pas bon j'ai toujours le message suivant
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); ?>
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
Partager