problème de création de plusieurs table en même temps

Eléphant du PHP | 417 Messages

24 nov. 2012, 11:39

Bonjour,

voila j'ai créé un mcd puis Mld puis j'ai générer le script sql tous ça sur win design

quand j'ai exécuté le script j'ai une erreur, et quand j'exécute le scrpt table par table ça fonction bien sauf que c'est long :s et que j'aimerai comprendre d'ou ça vien le problème

exemple que j'exécute le script de deux table j'ai la même erreur :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS PROF ( idProf INTEGER NOT NULL , idUsers INTE' at line 18

et voici le script des deux tables :
CREATE TABLE IF NOT EXISTS EVENT
 (
   idEvent INTEGER NOT NULL,
   idUsers INTEGER NOT NULL,
   titleEvent VARCHAR(80) NOT NULL,
   descEvent TEXT NULL,
   addressEvent VARCHAR(128) NOT NULL,
   postalCodeEvent INTEGER NOT NULL,
   cityEvent VARCHAR(50) NOT NULL,
   dateEvent DATETIME NOT NULL  
   , PRIMARY KEY (idEvent) 
 ) 

# -----------------------------------------------------------------------------
#       TABLE : PROF
# -----------------------------------------------------------------------------

CREATE TABLE IF NOT EXISTS PROF
 (
   idProf INTEGER NOT NULL  ,
   idUsers INTEGER NOT NULL  ,
   dateStartContrat DATE NULL  ,
   dateEndContrat DATE NULL   
   , PRIMARY KEY (idProf) 
 ) 
Merci d'avance

Avatar du membre
Mammouth du PHP | 1609 Messages

24 nov. 2012, 16:04

Manque un ; après la fermeture de chaque CREATE TABLE peut être ?
Développeur web depuis + de 20 ans

Eléphant du PHP | 417 Messages

24 nov. 2012, 16:13

effectivement :s
en fait win design rajoute les commentaire pour chaque table et quand j'ai effacé ces commentaire j'ai effacé aussi les ; sans faire attention :x
Merci pour votre réponse :)

Eléphant du PHP | 417 Messages

24 nov. 2012, 16:17

une autre question tjr sur les bdd

comment faire pour les delete cascade ?
exemple j'ai deux table users et picUsers

chaque user a une tof comment faire pour supprimer cette photo dans la table picUsers quand je supprime mon user?

Avatar du membre
Mammouth du PHP | 1609 Messages

24 nov. 2012, 17:06

Tables en InnoDB et configuration des Foreign Key.
Développeur web depuis + de 20 ans

Eléphant du PHP | 417 Messages

24 nov. 2012, 17:38

c'est tout ? et après ça se fait automatiquement ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 nov. 2012, 18:19

c'est le principe d'une FK.

par contre il faut que tu l'indique sinon c'est pas magique.

Mais lorsque que tu indique une clef étrangère avec un on delete cascade si tu supprime le père les enfants (avec le on delete cascade) suivent.

Attention quand même si tous les enfants ne sont pas en cascade le delete du père va échouer et tu auras des données partielle (donc gestion de transaction a faire pour faire propre :) )


@+
Il en faut peu pour être heureux ......