Je pige pas pourquoi
INSERT INTO message (id_message,text,lang,ref_type) VALUES ((select max(id_message) + 1 from message),'Berline',1,2);
n est pas accepté :/
Je pige pas pourquoi
INSERT INTO message (id_message,text,lang,ref_type) VALUES ((select max(id_message) + 1 from message),'Berline',1,2);
n est pas accepté :/
1/ Quel est ton message d'erreur ?
2/ tu n'as pas besoin de faire ça, il suffit de mettre ton id en auto_increment
Cette requête peut être simplifiée en utilisant INSERT SELECT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO message (id_message,text,lang,ref_type) VALUES ((select max(id_message) + 1 from message),'Berline',1,2);
Cependant, il est préférable de déclarer les identifiants des tables en tant que AUTO_INCREMENT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO message (id_message,text,lang,ref_type) SELECT max(id_message)+1, 'Berline', 1, 2 FROM message
La requête deviendrait alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO message (text,lang,ref_type) VALUES('Berline',1,2)
En fait c'est que l id max que je voulais n'est pas un auto_increment mais c est pas grave ca me forcera a codé mon appli à la place d inseré à la main les données
Meme si le post est super vieux, je vais donner une soluce qui pourra sevir dans le meme type de cas
(dans ce cas, super pratique pour indéxer un champ de position qui ne peut être géré avec un auto-increment) :
En fait mêm si le 'AS nom_au_choix' ne parait pas utile dans 'FROM table AS nom_au_choix' il faut le mettre car sinon ça ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO ma_table SET champ1=xxx, champ2=xxx, champ_position=(SELECT MAX(champ_position) FROM ma_table AS nom_au_choix)+1
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager