NAME_CONST() în MySQL

Returnează o valoare constantă și dă coloanei rezultatului numele cerut; folosită intern de MySQL.

Sintaxă
NAME_CONST(nume, valoare)

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ște AS.

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.