Ciao a tutti,

vorrei implementare un modello EAV in mysql ed avevo pensato ad una cosa del genere per non essere costretto ad effettuare tutta la validazione dei dati attraverso la UI dell'applicazione:

TABELLA UTENTI
id
nick
password

TABELLA ATTRIBUTI
id (int)
nome (varchar)
datatype (enum: int,double,varchar,text,date)

TABELLA VALORI
id (int)
id_utente (int)
id_attributo (int)
valore_int (int)
valore_double (double)
valore_varchar (varchar)
valore_text (text)
valore_date (date)

con questi campi che possono essere NULL:
valore_int (int)
valore_double (double)
valore_varchar (varchar)
valore_text (text)
valore_date (date)

Prima domanda: come vi pare come struttura?

Seconda domanda: è possibile in qualche modo fare una query del tipo

INSERT INTO valori
VALUES ($id_utente, $id_attributo, $valore)

e poi mysql mi mette il dato automaticamente nel campo giusto guardando quale tipo di dato ha quel particolare attributo?

O magari anche una determinazione del tipo di dato al volo, ma temo che questo sia chiedere troppo.

Grazie mille