MySQL : Création d'un trigger avec un autoincrement

Bonjours,

J’ai un problème que je n’arrive pas à résoudre depuis quelques jours.
J’utilise Mysql 5.0.37 et PHPMyAdmin en version 2.10.1.

Voila le trigger que je souhaite exécuté dans ma base :

CREATE TRIGGER insert_point BEFORE INSERT on pointclient FOR EACH ROW
begin
	INSERT INTO Point ('CodePoint') values (null);
	set new.CodePoint = last_insert_id() ;
end;

Il me ressort à chaque fois une erreur :

Je précise que ma table point possède un autoincrement que je souhaite récupéré dans mon pointclient.

Si quelqu’un peu m’éclaircir, j’en serai ravie.
Edité le 14/11/2007 à 21:37

Bonjour, je ne me sers pas encore des triggers (on est encore a mysql 4 :() mais je pense que c’est la syntaxe de la requête elle même qui n’est pas bonne: en effet ce ne sont pas des apostrophes qu’il faut utiliser mais l’accent grave. Ce qui donnera pour la requête:

 INSERT INTO Point( `CodePoint` ) VALUES (NULL) 

J’espère que cela te dépannera :bounce:

Merci de ta réponse Zigh, mais je viens de testé avec les 2 type apostrophes et même sans, même erreur.
Je viens de testé cette même requête avec l’API PHP.mysql et la j’ai une autre erreur qui vous parlera peut être plus qu’à moi.

include './configbdd.php' ;
$query = "CREATE TRIGGER insert_point BEFORE INSERT on pointclient FOR EACH ROW
begin
	INSERT INTO Point (CodePoint) values (null);
	set new.CodePoint = last_insert_id() ;
end;" ;
$resSQL = mysql_query($link);
if ($resSQL)
{
	$afficher = 'ok' ;
}
else
{
	$afficher = mysql_error($link);
}
echo $afficher ;

erreur :[quote=""]
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 ‘Resource id #3’ at line 1
[/quote]

hum c’est pas super clair :icon_biggrin: resource id #3… As tu essaye’ d’executer ma requete dans phpMyAdmin? chez moi ca passe (mysql 4.1.12 + phpMyAdmin 2.6.4-rc1). De plus je vois que dans ton code php, tu n’utilises plus les ` dans la requete, erreur de copier coller ou reel oubli?

Essaye ça :

mysql_query($query, $link);

au lieu de passer le lien de la connexion mySQL… /)

Bon je vous remercie tous les 2, j’ai recopié bêtement une partie de mon code php et j’en ai oublié le $query, et le problème d’origine était bien au niveau des apostrophes. merci beaucoup à tous les 2 :).

Par contre je n’arrive pas à exécuté ce trigger avec phpmyadmin, il fonctionne que grâce à l’API php.
Edité le 15/11/2007 à 08:23

Je sais pas, je crois que phpmyadmin parse les requêtes avant, pour divers tests.

A vérifier ceci dit.