Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Errore sql

  1. #1

    Errore sql

    Dopo un pomeriggio intero ho capito che tutte le query sql che contengono questo comando:
    IDENTITY (1, 1)

    che robba è?
    ho eseguito le query una per una ma mi sembvra un metodo un po' rozzo..
    se elimino questo comando non succede niente?

    ad esempio ecco una query che da errore con questo comando:
    CREATE TABLE FORUM_BIRTHDAY_TS ( BT_ID int IDENTITY (1, 1) PRIMARY KEY NOT NULL , BT_TS varchar (10) NULL )

    tolto

    IDENTITY (1, 1)

    la query funziona..

  2. #2

  3. #3

    riscrivo il messaggio in italiano!

    Riscrivo il messaggio in Italiano!

    Dopo un pomeriggio intero ho capito che tutte le query sql che danno errore contengono questo comando:
    IDENTITY (1, 1)

    che robba è?e

    ad esempio ecco una query che da errore con questo comando:
    CREATE TABLE FORUM_BIRTHDAY_TS ( BT_ID int IDENTITY (1, 1) PRIMARY KEY NOT NULL , BT_TS varchar (10) NULL )

    tolto

    IDENTITY (1, 1)

    la query funziona..

  4. #4
    Penso che il motivo sia che è una parola riservata e non si può usare nelle normali istruzioni di programmazione
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Penso dunque (informaticamente parlando) che la logica corretta del tuo post sia:

    "tutte le query che contengono IDENTITY danno errore"

    e non

    "tutte le query che danno errore contengono IDENTITY"

    Infatti la query

    sql = "pane e salame"

    da' errore pur non contenendo IDENTITY ........

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #6

    si

    hai ragione ma io ho una pagina che esegue un gran numero di query e quelle che danno errore sono quelle contengono IDENTITY..

    se vogliamo esere pignoli la logica corretta è:

    "Tra le mie query quelle che danno errore contengono IDENTITY(1)"

    e non

    "tutte le query che contengono IDENTITY danno errore"

    Perchè una qualunque query che contiene IDENTITY non da errore, è la mia in particolare che lo da..non penso che identity sia una parola vietata da sql...


    In ogni caso, cosa fa sto Identity? Come posso fare per aggirarlo ed eseguire ad esempio questa query:

    CREATE TABLE FORUM_BIRTHDAY_TS ( BT_ID int IDENTITY (1, 1) PRIMARY KEY NOT NULL , BT_TS varchar (10) NULL )

    senza IDENTITY(1, 1)

    Se lo levo semplicemente ottengo degli errori..pare che non crea la chiave primaria..o cmq quando eseguo una query mi dice "duplicate for key 0" o qualcosa del genere..

  7. #7
    Io non so cosa faccia ed anche la risposta che ti ho dato è dettata dall'esperienza fatta in casi analoghi più che dalla certezza. Facciamo così: mentre io la provo, posta l'errore che hai quando è presente 'sta IDENTITY, ok?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    IDENTITY specifica che quel campo a cui è stato assegnato è un campo "contatore". Avete presente i campi contatori di access? Ecco è la stessa cosa. Campo numerico che si aggiorna da solo. I 2 parametri da passare identificano il valore iniziale ed il valore incrementale.

    Qual è l'errore restituito. Si può sapere?

  9. #9
    Sì, mi sono informato anch'io. Penso che la soluzione venga di conseguenza: ci sarà errore ogni volta che a quel campo si tenterà di assegnare un valore, mentre Access il valore se lo stabilisce da solo...............
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.