Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: [MySQL]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    [MySQL]

    Ciao a tutti, come posso creare un campo GUID varchar(36)??

    In SQL Server ho un campo di questo tipo e vorrei fare lo stesso in mySQL

    Altro dubbio:

    per gestire la data di ultima modifica di un record, voi suggerite di creare un campo di tipo

    datetime... con un getdate()
    oppure un timestamp

    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    http://dev.mysql.com/doc/refman/5.0/...#function_uuid

    Usa il tipo timestamp con la clausola on update current_timestamp.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie per le risposte, ma come faccio con Phpmyadmin a creare un tipo GUID?? Intendo fare in modo che venga assegnato il GUID al mio record

    Altro dubbio, scusa se abuso :-) .... tu sai se è possibile cambiare l'ordine dei campi, una volta creati???

    Ho provato ad esempio con Workbech... mi fa cambiare la disposizione ma anche salvando la modifica non viene memorizzata, al successivo accesso vedo ancora l'ordine precedente

    Grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da Valeria75_bis
    è possibile cambiare l'ordine dei campi, una volta creati???
    no, se intendi "magicamente".

    sì, se alteri la tabella

    alter table pippo modify campo integer after dove_voglio_metterlo;

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Originariamente inviato da franzauker
    no, se intendi "magicamente".

    sì, se alteri la tabella

    alter table pippo modify campo integer after dove_voglio_metterlo;
    Non è possibile tramite drag&drop?? spostare i campi nella nuova posizione e poi salvare??


    Per quanto riguarda il campo GUID, da PhpMyAdmin come posso fare un modo che un campo abbia un valore GUID autogenereato?

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da Valeria75_bis
    Non è possibile tramite drag&drop?? spostare i campi nella nuova posizione e poi salvare??
    Non lo so, non uso strumenti grafici se non nello 0.0001% dei casi.

    Ma, come accennato, lo spostamento "fisico" dei campi richiede l'alterazione della tabella (=ricostruzione di tutto quanto), non c'è (che io sappia) un modo per modificare solo l'elenco dei campi "logici" rispetto a quelli "fisici" (potrei sbagliare)
    Per quanto riguarda il campo GUID, da PhpMyAdmin come posso fare un modo che un campo abbia un valore GUID autogenereato?

    Grazie
    come detto poc'anzi non uso mai phpmyadmin

    Personalmente farei un banalissimo trigger del tipo
    before insert on tabella for each row set new.mioguid=uuid()

    o magari userei uuid_short()
    [in realtà nei miei programmi genero sempre da applicazione il "mio" codice SHA1 e lo inserisco "a mano", niente trigger, niente funzioni "strane" non portabili tipo questa]
    ---
    Considera comunque pregi e difetti di uuid
    1) con innodb è lentissimo se lo usi come chiave primaria e mysql non ha abbastanza memoria per pre-caricare gli hash (in sostanza per verificare che sia unico)
    2) per piccoli db è meglio uuid_short

    va bene invece se lo usi come chiave non-primaria, o meglio chiave primaria "finta" (non usata in tal modo).

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille per le risposte dettagliate!!

    Scusa ma non sono riuscita ad assegnare un GUID ad un campo chiamato ID

    praticamente ho un campi id di tipo varchar(36)

    quale istruzione (trigger nel tuo caso) devo usare?

    Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da Valeria75_bis
    Grazie mille per le risposte dettagliate!!

    Scusa ma non sono riuscita ad assegnare un GUID ad un campo chiamato ID

    praticamente ho un campi id di tipo varchar(36)

    quale istruzione (trigger nel tuo caso) devo usare?

    Grazie
    guarda sopra, l'ho già scritto

    comunque per esteso
    codice:
    delimiter |
    CREATE TRIGGER pippo BEFORE INSERT ON tabellagatti
      FOR EACH ROW SET NEW.mioguid=uuid();|
    delimiter ;

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille!!!

    Provo a seguire i tuoi suggerimenti

  10. #10
    ps: cambia client, usa qualcosa come heidisql che è decisamente meglio, ma soprattutto è leggero (anche se in generale tutto è meglio di phpmyadmin )
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.