Spec-Zone.ru › MariaDB

ЗНАЧЕНИЯ / ЗНАЧЕНИЕ

Синтаксис

MariaDB начиная с 10.3.3
VALUE(col_name) 
MariaDB до 10.3.2
VALUES(col_name) 

Описание

В операторе INSERT ... ON DUPLICATE KEY UPDATE вы можете использовать функцию VALUES(col_name) в оператор UPDATE, чтобы обратиться к значениям столбцов из части INSERT оператора. Другими словами, VALUES(col_name) в операторе UPDATE ссылается на значение col_name, которое было бы вставлено, если бы не произошло конфликта по дубликату ключа. Эта функция особенно полезна при вставке нескольких строк.

Функция VALUES() имеет смысл только в операторах INSERT ... ON DUPLICATE KEY UPDATE и возвращает NULL в противном случае.

В MariaDB 10.3.3 эта функция была переименована в VALUE(), так как она несовместима с синтаксисом стандартных конструкторов табличных значений, реализованных в MariaDB 10.3.3.

Функция VALUES() всё ещё может использоваться даже в MariaDB 10.3.3, но только в операторах INSERT ... ON DUPLICATE KEY UPDATE; в противном случае это синтаксическая ошибка.

Примеры

MariaDB начиная с 10.3.3
INSERT INTO t (a,b,c) VALUES (1,2,3),(4,5,6)
    ON DUPLICATE KEY UPDATE c=VALUE(a)+VALUE(b);
MariaDB до 10.3.2
INSERT INTO t (a,b,c) VALUES (1,2,3),(4,5,6)
    ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/values-value/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API