erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

Re: erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

par Ryle » 30 mars 2021, 14:41

Salutations !

La portion de requête contenant "ROLE professeurs" ne figure pas plus dans le nouveau code que tu as posté...

Pour t'aider à identifier l'origine de l'erreur, dans ses messages MySQL indique l'endroit précis à partir duquel il rencontre un problème. Il faut donc généralement regarder ce qui est fait juste avant... ça peut être une apostrophe oubliée, un mot clé absent...

Et sinon quand tu as un grand script comme celui-ci, exécute tes requêtes les unes après les autres ou par petit paquet, tu verras ainsi laquelle génère une erreur et te focaliser dessus ;)

Re: erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

par renaud92260 » 29 mars 2021, 20:05

ok désolé, je mets le scripts complet :
/*-- -------------------creation de la bdd-------------------
----------------------------------------------------------------------------*/

DROP DATABASE IF EXISTS bdd_ecole;
CREATE DATABASE bdd_ecole;

/*-- -------------------utilisateurs-------------------
----------------------------------------------------------------------------*/
-- superviseur
USE bdd_ecole;
CREATE USER IF NOT EXISTS 'superviseur1'@'localhost' IDENTIFIED BY 'sup_password_1';
GRANT ALL ON bdd_ecole TO 'superviseur1'@'localhost' IDENTIFIED BY 'sup_password_1' ;


-- professeurs
USE bdd_ecole;
CREATE USER IF NOT EXISTS 'professeur1'@'localhost' IDENTIFIED BY 'prof_password_1';

-- eleves
USE bdd_ecole;
CREATE USER IF NOT EXISTS 'eleve1'@'localhost' IDENTIFIED BY 'ele_password_1';



/*-- -------------------roles-------------------
----------------------------------------------------------------------------*/

-- professeurs
CREATE ROLE profs;
GRANT SELECT, UPDATE, INSERT ON cours.* TO profs;
GRANT profs TO 'professeur1'@'localhost';



/*-------------------creation des tables-------------------
----------------------------------------------------------------------------*/


-- création de la table eleves
DROP TABLE IF EXISTS eleves;

CREATE TABLE IF NOT EXISTS eleves (eleve_id int(5) NOT NULL AUTO_INCREMENT, eleve_nom varchar(45) NOT NULL, eleve_prenom varchar(45), PRIMARY KEY (eleve_id)) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

-- création de la table RDV
DROP TABLE IF EXISTS rdv;

CREATE TABLE IF NOT EXISTS rdv (rdv_id int(11) NOT NULL AUTO_INCREMENT, eleve_id int(11) NOT NULL, matiere_id int(11) NOT NULL, prof_id int(11) NOT NULL, rdv_date date, rdv_h_deb datetime, rdv_h_fin datetime, PRIMARY KEY (rdv_id)) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

-- création de la table matieres
DROP TABLE IF EXISTS matieres;

CREATE TABLE IF NOT EXISTS matieres (matiere_id int(11) NOT NULL AUTO_INCREMENT, matiere_nom varchar(100) NOT NULL, matiere_desc varchar(250), PRIMARY KEY (matiere_id)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- création de la table cours
DROP TABLE IF EXISTS cours;

CREATE TABLE IF NOT EXISTS cours (cours_id int(11) NOT NULL AUTO_INCREMENT, cours_nom varchar(50) NOT NULL, cours_desc varchar(250), matiere_id int(11) NOT NULL, PRIMARY KEY (cours_id)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- création de la table devoirs
DROP TABLE IF EXISTS devoirs;

CREATE TABLE IF NOT EXISTS devoirs (devoir_id int(11) NOT NULL AUTO_INCREMENT, devoir_nom varchar(250) NOT NULL, devoir_desc text, cours_id int(11) NOT NULL, PRIMARY KEY (devoir_id)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- création de la table professeurs
DROP TABLE IF EXISTS professeurs;

CREATE TABLE IF NOT EXISTS professeurs (professeur_id int(11) NOT NULL AUTO_INCREMENT, professeur_nom varchar(50) NOT NULL, professeur_prenom varchar(50), PRIMARY KEY (professeur_id)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- création de la table enseigner
DROP TABLE IF EXISTS enseigner;

CREATE TABLE IF NOT EXISTS enseigner (enseigner_id int(11) NOT NULL AUTO_INCREMENT, professeur_id int(11) NOT NULL, matiere_id int(11), date_deb_ens date, date_fin_ens date, PRIMARY KEY (enseigner_id)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

Re: erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

par or 1 » 29 mars 2021, 19:23

"ROLE professeurs" ne figure pas dans le texte copié, qui n'a que 3 lignes, donc pas évident de trouver le problème.

erreur phpmyadmin : Erreur de syntaxe près de 'ROLE professeurs' à la ligne 5

par renaud92260 » 29 mars 2021, 19:19

Bonjour ,

Petit probleme suite au code suivant, je ne vois vraiment pas :


CREATE ROLE profs;
GRANT SELECT, UPDATE, INSERT ON cours.* TO profs;
GRANT profs TO 'professeur1'@'localhost';


Cordialement