OVH Cloud OVH Cloud

last_insert_id() de mysql ???

7 réponses
Avatar
Jerome PAULIN
Bonjour,

J'essaye le code suivant sur un base MySQL, mais WD me retourne une
erreur me disant que sdreq1 est inconnu/non intialisé

PROCEDURE Creation_etiquette()
nId__eti est un entier
sdReq1 est une Source de Données

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"insert into
t_etiquette(id__eti) values(NULL)")

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"select
last_insert_id() as id__eti")

HLitPremier(sdReq1)
nId__eti=sdReq1.id__eti

RENVOYER nId__eti


Merci d'avance,

Jerome PAULIN

7 réponses

Avatar
[Bernard Vessiot]
Jerome PAULIN avait soumis l'idée :
Bonjour,

J'essaye le code suivant sur un base MySQL, mais WD me retourne une erreur me
disant que sdreq1 est inconnu/non intialisé

PROCEDURE Creation_etiquette()
nId__eti est un entier
sdReq1 est une Source de Données

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"insert into
t_etiquette(id__eti) values(NULL)")

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"select last_insert_id() as
id__eti")

HLitPremier(sdReq1)
nId__eti=sdReq1.id__eti

RENVOYER nId__eti


Merci d'avance,

Jerome PAULIN



salut,
dans le cas d'utilisation du parametre 'hrequetesansCorrection", il est
obligatoire de préciser la connexion.
je pense que le problème vient de la !
@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc

Avatar
mat
Jerome PAULIN wrote:
...
PROCEDURE Creation_etiquette()
nId__eti est un entier
sdReq1 est une Source de Données

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"insert into
t_etiquette(id__eti) values(NULL)")

HExécuteRequêteSQL(sdReq1,hRequêteSansCorrection,"select
last_insert_id() as id__eti")



...

Bonjour,

ta 2e requête n'est plus sur mySQL mais sur la source de donnée, alors à
priori sur HF et la fonction utilisé n'existe pas.

J'ai aussi des doutes que tu puisses lancer une requête sur la base de
la même requête. Sinon, faudrait créer deux sources de données.

A part cela, je suppose la manque du nom de fichier "sdReq1" dans
"select last_insert_id() as id__eti" est une omission voulu.

Malheureusement je n'ai pas de réponse à la question fondamentale,
comment obtenir le dernier ID après INSERT. J'utilise hAjoute, déjà
parce que c'est le seul moyen de respecter les contraintes d'integrité.
Et ensuite, nId__eti=t_etiquette.id__eti fait l'affaire.

Salutations
Mat
Avatar
mat
mes excuses, ma réponse est nulle ...



mat wrote:
Bonjour,

ta 2e requête n'est plus sur mySQL mais sur la source de donnée, alors à
priori sur HF et la fonction utilisé n'existe pas.

J'ai aussi des doutes que tu puisses lancer une requête sur la base de
la même requête. Sinon, faudrait créer deux sources de données.

A part cela, je suppose la manque du nom de fichier "sdReq1" dans
"select last_insert_id() as id__eti" est une omission voulu.

Malheureusement je n'ai pas de réponse à la question fondamentale,
comment obtenir le dernier ID après INSERT. J'utilise hAjoute, déjà
parce que c'est le seul moyen de respecter les contraintes d'integrité.
Et ensuite, nId__eti=t_etiquette.id__eti fait l'affaire.

Salutations
Mat


Avatar
Jerome PAULIN
[Bernard Vessiot] a écrit :
Jerome PAULIN avait soumis l'idée :




salut,
dans le cas d'utilisation du parametre 'hrequetesansCorrection", il est
obligatoire de préciser la connexion.
je pense que le problème vient de la !
@+++




Si c'etait le cas, le insert ne serait pas effectué, hors il l'est bien ...

gg
Avatar
[Bernard Vessiot]
Jerome PAULIN a exprimé avec précision :
[Bernard Vessiot] a écrit :
Jerome PAULIN avait soumis l'idée :




salut,
dans le cas d'utilisation du parametre 'hrequetesansCorrection", il est
obligatoire de préciser la connexion.
je pense que le problème vient de la !
@+++




Si c'etait le cas, le insert ne serait pas effectué, hors il l'est bien ...

gg



peut-etre...
ceci dit, c'est explicitement cité dans l'aide de PcSoft, notamment en
ce qui concerne les acces OLEDB et Natifs:
je cite :
...
Attention : si cette constante est utilisée :
il est nécessaire de préciser le nom de la connexion (paramètre
<Connexion>).
...

--
[Bernard Vessiot]
34980 Saint Gély du Fesc

Avatar
Jerome PAULIN
[Bernard Vessiot] a écrit :


peut-etre...
ceci dit, c'est explicitement cité dans l'aide de PcSoft, notamment en
ce qui concerne les acces OLEDB et Natifs:
je cite :
...
Attention : si cette constante est utilisée :
il est nécessaire de préciser le nom de la connexion (paramètre
<Connexion>).
...




Bravo, j'ai re verifié dans la documentation, et après avoir précisé
quelle connexion est utilisée, tout fonctionne comme prévu...

Merci beaucoup,

gg
Avatar
[Bernard Vessiot]
Jerome PAULIN a pensé très fort :
[Bernard Vessiot] a écrit :


peut-etre...
ceci dit, c'est explicitement cité dans l'aide de PcSoft, notamment en ce
qui concerne les acces OLEDB et Natifs:
je cite :
...
Attention : si cette constante est utilisée :
il est nécessaire de préciser le nom de la connexion (paramètre
<Connexion>).
...




Bravo, j'ai re verifié dans la documentation, et après avoir précisé quelle
connexion est utilisée, tout fonctionne comme prévu...

Merci beaucoup,

gg



Super !
@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc