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

    [SLQ] Campo con valore uguale alla chiave primaria

    Un altro problema di sql:
    ho una tabella con chiave primaria nominata id, tipo tinyint(2) auto_increment e un campo posizione sempre tinyint(2).

    Devo fare in modo che, con una query insert, il valore del campo posizione sia uguale a quello della chiave primaria.
    Ho provato a impostarlo come auto_increment, ma ci può essere un solo campo auto_increment in ogni tabella.
    Come posso fare?

  2. #2
    durante la insert ti prendi l'ultimo id inserito
    Poi subito fai un UPDATE di quel record sul campo dove ti interessa avere il n. ID
    Tanto...lo fanno tutti... posso farlo anche io vero?

  3. #3
    se il valore deve essere uguale ... che te fai di un campo duplicato?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Originariamente inviato da piero.mac
    se il valore deve essere uguale ... che te fai di un campo duplicato?
    ...Giusta osservazione
    Tanto...lo fanno tutti... posso farlo anche io vero?

  5. #5
    Originariamente inviato da -AA-
    durante la insert ti prendi l'ultimo id inserito
    Poi subito fai un UPDATE di quel record sul campo dove ti interessa avere il n. ID
    Ok. A questo ci avevo già pensato. Ma vorrei fare l'operazione con una query soltanto.

  6. #6
    Originariamente inviato da piero.mac
    se il valore deve essere uguale ... che te fai di un campo duplicato?
    L'id della tabella è chiave esterna in altre tabelle: non posso modificarlo.

    Il campo con il valore uguale a quello della chiave primaria lo uso per gestire la disposizione degli elementi estratti: aumentandolo, la posizione dell'elemento sale rispetto agli altri, diminuendolo accade l'opposto.

  7. #7
    up

  8. #8
    up

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    L'unica è fare 2 queries: non puoi sapere a priori quale sarà il nuovo valore di autoincrement, quindi fai un insert e subito dopo un update e sei a posto.

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.