par
Greg » 09 juin 2009, 15:17
Salut à tous,
Je dois utiliser la fonction MySQL LAST_INSERT_ID() car la colonne AUTO_INCREMENT de ma table est de type BIGINT (non_signé), et une limite de la fonction PHP mysql_insert_id() m'empêche de l'utiliser.
J'ai néanmoins un comportement étrange dans mon script, car avec la requête ci-dessous, j'ai plusieurs lignes de résultats (avec tous les identifiants ajoutés) alors que je n'en attends qu'une.
Code : Tout sélectionner
SELECT LAST_INSERT_ID(adv_id) AS current_id FROM advertisements
Je me retrouve donc à faire cette requête pour limiter la casse :
Code : Tout sélectionner
SELECT LAST_INSERT_ID(adv_id) AS current_id FROM advertisements ORDER BY current_id DESC LIMIT 1
Si je ne précise pas la colonne à LAST_INSERT_ID(), il me renvoie un 0. Si je zappe les conditions, il me renvoie autant de 0 que j'ai d'enregistrements.
Est-ce moi (il y a de grandes chances) ou LAST_INSERT_ID() qui déconne ?
Salut à tous,
Je dois utiliser la fonction MySQL LAST_INSERT_ID() car la colonne AUTO_INCREMENT de ma table est de type BIGINT (non_signé), et une limite de la fonction PHP mysql_insert_id() m'empêche de l'utiliser.
J'ai néanmoins un comportement étrange dans mon script, car avec la requête ci-dessous, j'ai plusieurs lignes de résultats (avec tous les identifiants ajoutés) alors que je n'en attends qu'une.
[code]
SELECT LAST_INSERT_ID(adv_id) AS current_id FROM advertisements
[/code]
Je me retrouve donc à faire cette requête pour limiter la casse :
[code]
SELECT LAST_INSERT_ID(adv_id) AS current_id FROM advertisements ORDER BY current_id DESC LIMIT 1
[/code]
Si je ne précise pas la colonne à LAST_INSERT_ID(), il me renvoie un 0. Si je zappe les conditions, il me renvoie autant de 0 que j'ai d'enregistrements.
Est-ce moi (il y a de grandes chances) ou LAST_INSERT_ID() qui déconne ?