MariaDB: Как использовать функцию в предложении по умолчанию? - PullRequest
0 голосов
/ 15 октября 2019

Я использую самую свежую MariaDB:

select @@version
10.4.8-MariaDB

При запуске этого крипта:

CREATE TABLE t1 (
  uuid_field     VARCHAR(32) DEFAULT (uuid()),
  binary_uuid    BINARY(16)  DEFAULT (UUID_TO_BIN(UUID()))
);

появляется ошибка: функция или выражение 'UUID_TO_BIN ()' не может использоваться впредложение DEFAULT binary_uuid

Для теста, который я запускаю, он работает:

CREATE TABLE t2 (
  uuid_field     VARCHAR(32) DEFAULT (uuid()),
  binary_uuid    BINARY(16)
);

В чем проблема в первом случае? Можно ли использовать пользовательские функции в предложении DEFAULT?

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Сделайте binary_uuid "Сгенерированным столбцом" вместо этого.

0 голосов
/ 15 октября 2019

Опция столбца DEFAULT¶ MariaDB, начиная с 10.2.1 Предложение DEFAULT было улучшено в MariaDB 10.2.1. Некоторые улучшения включают

Предложение DEFAULT теперь можно использовать с выражением или функцией.

Это означает: только встроенные функции, но не определенные пользователем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...