Ce face NAME_CONST()
NAME_CONST('pret', 14) returnează 14, într-o coloană numită pret. Ambele argumente trebuie să fie constante.
Funcția este pentru uz intern: serverul o scrie în jurnalul binar când o procedură stocată folosește variabile locale, ca să poată repeta instrucțiunile pe un server replică. O poți vedea în ieșirea programului mysqlbinlog. În interogările tale, același rezultat se obține cu un alias: SELECT 14 AS pret.
Parametri
| Parametru | Descriere |
|---|---|
nume |
Numele coloanei (constantă text). |
valoare |
Valoarea returnată (constantă). |
Ce returnează
Valoarea dată.
Exemple
Exemplul 1: NAME_CONST() și varianta cu alias
SELECT NAME_CONST('pret', 14);
SELECT 14 AS pret;
Rezultat
+------+
| pret |
+------+
| 14 |
+------+
+------+
| pret |
+------+
| 14 |
+------+
Exemplul 2: Cum apare în jurnalul binar
O procedură face UPDATE produse SET stoc = v_stoc WHERE id = v_id cu variabile locale. În jurnalul binar (replicare bazată pe instrucțiuni), variabilele sunt înlocuite cu valorile lor.
mysqlbinlog binlog.000012
Fragment din ieșirea mysqlbinlog
UPDATE produse SET stoc = NAME_CONST('v_stoc',7) WHERE id = NAME_CONST('v_id',3)
Greșeli frecvente
- Dai ca argument o coloană (
NAME_CONST('x', pret)). Primești eroare; argumentele trebuie să fie constante. Pentru coloane foloseșteAS.
Comenzi înrudite
AS (alias): Dă un nume nou (alias) unei coloane sau unui tabel în rezultatul interogării.SELECT: Citește date dintr-un tabel. Este comanda SQL folosită cel mai des.