Ce que je veux faire:
* Ajouter une valeur à ma table (nom, prenom, telephone et ID). L'ID est un INT appartenant à un numéro de téléphone dans une autre table. Voici la syntaxe:
INSERT INTO CONTACT (ID_EMPLOYEE,LAST_NAME,FIRST_NAME,PHONE_NUMBER) VALUES ((SELECT ID_EMPLOYEE FROM EMPLOYEE WHERE SHORT_NUMBER = '8100'),'test','test','029804')
Ma sous-requete est donc :
(SELECT ID_EMPLOYEE FROM EMPLOYEE WHERE SHORT_NUMBER = '8100')
qui doit retourner l'ID du numéro en parametre 8100.
MySQL rejete la demande pour erreur de syntaxe.
Je ne vois pas où est l'erreur, si quelqu'un pouvait me venir en aide.
Tout simplement. Tu essayes de faire un assert avec trop peu d'éléments. Tu fais un insert qui doit avoir 4 valeurs et ton sous-select ne renvoit que ID_EMPLOYEE.
Il faut donc compléter pour donner toutes les valeurs.
A ta place je ferai une procédure stockée en PL/SQL mais ca dépend de mysql (je croi qu'il le supporte à partie de la version 5).
Si c'est pas possible dans ton cas tu peut executer ta sous requete avant récupérer le résultat, construire ta requête d'insertion et la faire executer
Oui, je crois que je vais pas m'embeter plus, je vais le faire en deux fois. Il faut aussi dire que la version du serveur est .... la 3.23. Et pas moyen de l'upgrader pour l'instant, mon maitre de stage désire continuer avec cette version, qu'il considère stable.