Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    evitare di inserire riga duplicata

    ho una tabella con un campo id che si autoincrementa e due valori: title e text
    Vorrei inserire una nuova riga, ma solo se questa non è già presente. Cioè: inserisco solo title e text, se la coppia non c’è viene creata una nuova riga, altrimenti niente. Non mi interessa il valore del campo id, perché è ovvio che queste due righe hanno id diverso.


  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prima di inserire fai una select cercando se esiste un'altra entry con stesso title e text, se la trovi niente, se non la trovi fai l'inserimeto.

    Altrimenti dichiari come key della tabella la coppia title e text, fai direttamente l'inserimento intercettando eventuali errori del db, se il db dà errore vuol dire che la coppia già c'è e gestisci tale caso.

  3. #3
    così...

    codice:
    INSERT INTO talella (title , text)
    SELECT 'Titolo', 'Il mio testo'
    FROM talella
    WHERE NOT EXISTS (SELECT * FROM talella WHERE title like 'Titolo' AND text like 'Il mio testo')

  4. #4
    Non riesco proprio a farlo funzionare questo discorso in queste righe...
    dovrei evitare che venga effettuato l'insert in tabella nel caso in cui esista già una riga con evento e username identici!

    Codice PHP:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) 
    {  
    $insertSQL sprintf("INSERT INTO partecipanti (evento, username, presente, nota) VALUES (%s, %s, %s, %s)",  
    GetSQLValueString($_POST['evento'], "int"),  
    GetSQLValueString($_POST['username'], "text"),
    GetSQLValueString($_POST['presente'], "int"),
    GetSQLValueString($_POST['nota'], "text"));
    ......;} 

  5. #5
    Non capisco cosa c'entri la insert che hai postato con quella del post iniziale?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    situazione differente, medesimo problema.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    L'altro l'hai risolto? Se sì, si fa allo stesso modo.

  8. #8
    Quote Originariamente inviata da thenax Visualizza il messaggio
    situazione differente, medesimo problema.
    Medesima soluzione!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Medesima soluzione!
    Non funziona. Mi dà errori

  10. #10
    Quote Originariamente inviata da thenax Visualizza il messaggio
    Non funziona. Mi dà errori
    Interessante!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.