Domanda

Ho la seguente tabella:

Table Account{
    [...]
    email varchar(100),
    [...]
}

e una corrispondente espressione regolare:

/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i

Come posso utilizzare il modello di MySQL, per collegare l'espressione regolare per il the-campo di dati "e-mail", in modo che la regex è accessibile a leggere attraverso php così come un trigger o meglio ancora, in una sorta di vincolo?

voglio definire questa direttamente utilizzando MySQL Workbench, quindi una tabella separata non funziona per me.

È stato utile?

Soluzione

A mio parere, la validazione dell'input come questo non è proprio il compito del database. Queste regole di convalida possono cambiare. Si può anche renderli configurabile dall'utente, un giorno. Questo diventa terribilmente difficile se le regole sono sepolti in qualche innesco da qualche parte.

Inoltre, sarà necessario gestire un errore di convalida sul livello di applicazione in ogni caso -. Che mostra un messaggio di qualche tipo

Il posto migliore per renderli accessibili a PHP all'interno mySQL può essere una colonna di commento, che è possibile recuperare utilizzando SHOW COLUMNS in collaborazione con la parola chiave FULL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top