Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27

    Php Mysql Lock/transazioni

    Supponiamo di avere la tabella MYSQL "Assistenza_tecnica" (id, problema, commento)
    e l'utente A e B ed entrambi visualizzano il record con id=25 e potenzialmente entrambi potrebbero modificarlo causando un inconsistenza nel db.

    Io vorrei che A (poichè arrivato prima) possa leggere e scrivere mentre gli altri solo leggere il record.

    Ho visto che è possibile fare i LOCK (read e write), ma non voglio bloccare la tabella.
    Quello che vorrei è bloccare il record..

    Qualcuno sa fornirmi un esempio in PHP5


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    19
    Ciao puoi farlo con le tabelle InnoDB, dura finchè è attiva la connessione.

    Io però farei un meccanismo a livello di applicazione, in modo che solo un utente possa scrivere il record. In alternativa puoi fare in modo che venga memorizzato l'orario di ultima modifica così che :

    esempio

    utente A legge la tabella alle ore 10.05 ed inizia a lavorarci (last-mod datetime esempio 10.02)

    utente B legge la tabella alle ore 10.06 ed inizia a lavorarci (last-mod datetime sempre 10.02)

    utente B scrive il contenuto alle ore 10.08 (last-mod datetime viene settato alle ore 10.08)

    utente B tenta di scrivere il contenuto alle 10.10, ma il software prima di scrivere controlla l'ultimo last-mod datetime aggiornato e si accorge che è cambiato, quindi può dargli un messaggio di errore o chiedere una conferma.
    Io sono tuo padre, Luke! Slittino - Sea Scooter - Calciobalilla - Ping Pong

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.