Ошибка появляется во время ALTER TABLE
, когда вы пытаетесь изменить столбец ChurchScore
, устанавливая значение DEFAULT
в выражение, включающее другой столбец attendedWed
.
Кроме того, вашПохоже, что сообщение об ошибке происходит из MariaDB, а не из MySQL.
Из Документация Mariadb :
Из MariaDB 10.2.1 вы можете использовать большинство функций в DEFAULT.Выражения должны иметь круглые скобки вокруг них.Если вы используете недетерминированную функцию в DEFAULT, то все вставки в таблицу будут реплицироваться в режиме строки.Вы даже можете ссылаться на более ранние столбцы в выражении DEFAULT:
CREATE TABLE t1 (a int DEFAULT (1+1), b int DEFAULT (a+1));
CREATE TABLE t2 (a bigint primary key DEFAULT UUID_SHORT());
Так что вам нужно убедиться в следующем:
- Обновите версию MariaDB до 10.2.1и выше.Желательно обновить до текущей последней версии (сейчас она 10.3+).
- Вам необходимо использовать скобки вокруг выражения, указанного в предложении
DEFAULT
.
Так что ALTER TABLE
оператор будет выглядеть так:
ALTER TABLE `citizenshipgroup3`.`church`
CHANGE COLUMN `ChurchScore` `ChurchScore` DOUBLE(10,2) NULL
DEFAULT (attendedWed) ;