Использование выражения case внутри Default / Expression для таблицы MySQL - PullRequest
0 голосов
/ 27 марта 2020

Я хочу установить выражение case внутри таблицы Default / Expression для таблицы MySQL. Но я думаю, что я могу объяснить лучше на изображении, поэтому посмотрите ниже, пожалуйста.

The image is this one

В настоящее время у меня есть выражение case, которое я хочу использовать в представлении. Однако я решил, что хочу, чтобы результат этого выражения case хранился внутри таблицы. Я знаю, что я могу иметь выражения, как в столбце c, то есть умножение столбца a * столбец b. Я притворяюсь, что получаю нечто подобное, но вместо умножения, имеющего предложение case, но когда я помещаю предложение case в выражение по умолчанию, я получаю эту ошибку: «ОШИБКА 1067: Неверное значение по умолчанию для« ciclo »», поскольку «ciclo» название моей колонки

1 Ответ

0 голосов
/ 27 марта 2020

Значением по умолчанию является константа, если задано выражение, оно будет оцениваться во время команды CREATE TABLE / ALTER TABLE.

То, что вам нужно, скорее всего, генерируется столбец :

CREATE TABLE .... (
  ....
  ciclo VARCHAR(45) AS (CASE .... THEN 'invalido' ELSE .... END)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...