Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [QUERY] INSERT e subquery sulla stessa tabella

    ciao a tutti,
    vorrei sapere se e' possibile far funzionare in qualche modo la seguente query:

    codice:
    INSERT INTO rooms (
    	hotel_id,
    	position,
    	enabled
    ) VALUES (
    	240,
    	(SELECT MAX(position)+1 FROM rooms WHERE hotel_id=240 AND enabled=1),
    	1
    )
    l'errore che mi da e' questo:
    #1093 - You can't specify target table 'rooms' for update in FROM clause
    infatti la stessa query con la SELECT su una tabella diversa non da problemi.

    grazie
    danno

  2. #2
    la subquery interna non può essere eseguita poichè nella query principale la tabella rooms è LOCKED, indisponibile per altri compiti. Ti conviene creare un'altra atbella temporanea con gli ID di quequella tabella e fare la subquery su di essa.

  3. #3
    uhm, sospettavo che fosse un problema di locking ma speravo si potesse bypassare in qualche modo.
    ti ringrazio ugualmente ma a questo punto preferisco risolvere con due query gestendo i dati da php.

    grazie
    danno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.