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

    id incrementale con max(id)+1

    ciao a tutti,

    non avendo un campo id autoincrementale, avrei bisogno di "arrangiarmi" a mano...

    con una query del tipo

    INSERT INTO controllo(id,login,ret,oid,cod,date) VALUES('select max(id)+1 from controllo','$ret','$c','1','$c','now()')

    ma è come se non sentisse la select? immagino che non sia pollibile annidarla in quel modo, ma ho guardato in rete e non riesco a capire come fare il tutto in un unica query

    "select max(id)+1 from controllo" fatta singolarmente singolarmente chiaramente funziona,

    qualcuno sa aiutarmi?

    grazie

  2. #2
    Perchè non modifichi la tabella e usi un campo autoincrement?

  3. #3
    eh no, partivo da quel prosupposto, di non doverlo cambiare

  4. #4
    Partire dal presupposto sbagliato non è mai una cosa intelligente da fare.

    Modifica la tabella per usare un campo autoincrement come chiave primaria.

  5. #5
    Originariamente inviato da mammolo31
    eh no, partivo da quel prosupposto, di non doverlo cambiare
    Fai due query. Non si puo' selezionare un record da manipolare e contemporaneamente reinserire nella stessa tabella con la stessa query. Potresti anche usare una variabile:

    set @new_id = "select max(id) + 1 from controllo";

    INSERT INTO controllo (id, login, ret, oid, cod, date)
    VALUES (@new_id, '$ret', '$c', '1', '$c', now())
    inoltre NOW() e' una funzione e non va messa tra apici come fosse una stringa.

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

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.