Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906

    [MySQL&PHP] Gestire campi Unique

    Ciao vorrei sapere come faccio a gestire con php
    la risposta che mi da il server mysql quando cerco di inserire un campo UNIQUE o PRIMARY che gia esiste, esempio:
    TABELLA nome
    id nome cognome nickname --> id è primary e vabbe, nickname UNIQUE.
    Inserendo un nuovo record con il campo nickname uguale ad un record preesistente cosa mi torna mySQL ?
    e Soprattutto è gestibile in php ?

  2. #2
    Ti ritorna un errore di duplicate key.

    Poiche' il campo e' UNIQUE sai gia' a priori che non puo' essere duplicato. Quindi una buona programmazione "deve" prevenire i possibili errori. Fai una select preventiva con il nuovo nome da inserire.

    SELECT COUNT(*) FROM tabella WHERE nickname = '$nickname'

    Se count = 1 rifiuti l'immissione se count = 0 procedi con l'INSERT.


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

  3. #3
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    ah ok
    pensavo si potesse fare una cosa di questo genere:
    eseguo la query, MySQL mi ritorna un intero se la query viene eseguita correttamente sara 0, invece se non viene eseguita mi ritorna un errore ovvero un numero maggiore di zero, speravo fosse possibile gestire direttamente quello.

  4. #4
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    scusa ma oggi picchio in testa, ma il COUNT come diavolo lo controllo :master:

  5. #5
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    ok come non detto risolto

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.