Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    151

    Duplicate entry... ma perchè?!?!?

    Ciao a tutti, sto impazzendo con questo errore, e un vostro aiuto mi sarebbe utilissimo

    Ho una tabella INNODB con la chiave primaria "CodProdotto" (TINYTEXT)

    Inserisco il primo prodotto che ha il codice "AARR00" e funziona tutto, vado con il successivo che ha codice "AABB01" e mi restituisce il seguente errore:

    "Duplicate entry 'a' for key 1"


    Perchè se la query che deve eseguire (che faccio stampare un attimo prima) è:

    codice:
    INSERT INTO prodotti (codprodotto,idsottosezione,descrizione,datains,foto) VALUES ("aaBB01","5","altreo prodotto","2005-11-25","")
    La tabella è vuota e ha solo il primo prodotto inserito!

    E' come se leggesse solo il primo carattere e lo trova uguale a quello del record precedente, come è possibile?

    Help Please!
    Faycal

    Web & Multimedia Designer
    :quote:

  2. #2
    prova ad usare un campo CHAR/VARCHAR invece di un campo tipo TEXT. C'e' qualche limite con gli indici per i campi BLOB/TEXT dipendente dalla versione.

    Non e' certo il massimo pero'. Forse sarebbe meglio usare un campo numerico auto_increment come chiave primaria ed il codice come chiave UNIQUE.


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

  3. #3
    ehm ... e normale che se tu inserisci in un campo tinyint dei dati testuali ottieni dei risultati totalmente casuali

    devi mettere un varchar, ad es, a 6, per far entrare massimo 6 caratteri (per il campo codprodotto)

  4. #4
    Originariamente inviato da daniele_dll
    ehm ... e normale che se tu inserisci in un campo tinyint dei dati testuali ottieni dei risultati totalmente casuali

    devi mettere un varchar, ad es, a 6, per far entrare massimo 6 caratteri (per il campo codprodotto)
    daniele... era tinytext...

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Sinceramente sono anche scettico sul fatto che si possano creare indici o chiavi primarie su campi di tipo text.

    Pero' e' sabato mattina e mi tira il biiip controllare il manuale.. guardaci tu e poi ci dici

    PS: un campo text come chiave primaria e' comunque una pessima idea. Usa un char(N) e attenzione che MySQL fra le sue "features" ha il fatto che i char sono automaticamente convertiti in VARCHAR()
    There are 10 types of people in the world - those who understand binary and those who don't.

  6. #6
    Originariamente inviato da piero.mac
    daniele... era tinytext...
    azz ... really pardon ... cmq il consiglio va lo stesso che è lo stesso che ti ha detto piero

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.