我正在尝试从MariaDB 10.0升级到10.5以使用Galera集群。我们的一个表有一个键,以后的版本将不接受。错误和表结构如下。
重构代码是最后的手段,所以如果有一个表定义的变化,可以解决这个问题,这将是***太棒了!***
谢谢你,谢谢你
错误
第40239行出现错误1901(HY 000):在tc_sequence_id
的GENERATED ALWAYS AS子句中不能使用函数或表达式“concat(tc_sequence_db_code
,tc_sequence_prefix
,tc_sequence_table_name
)”
该表结构
CREATE TABLE `tc_sequence` (
`tc_sequence_id` char(191) AS (concat(`tc_sequence_db_code`,`tc_sequence_prefix`,`tc_sequence_table_name`)),
`tc_sequence_table_name` char(191) NOT NULL,
`tc_sequence_db_code` char(2) NOT NULL DEFAULT '',
`tc_sequence_prefix` char(5) NOT NULL DEFAULT '',
`tc_sequence_next_id` int(11) NOT NULL DEFAULT 0,
`dt_temp_id` varchar(36) DEFAULT NULL,
`tc_sequence_trf_yn` tinyint(1) NOT NULL DEFAULT 0,
UNIQUE KEY `tc_sequence_id` (`tc_sequence_id`),
KEY `tc_sequence_table_name` (`tc_sequence_table_name`),
KEY `dt_temp_id` (`dt_temp_id`),
KEY `tc_sequence_trf_yn` (`tc_sequence_trf_yn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1条答案
按热度按时间xlpyo6sf1#
感谢Paul T为我们提供了解决方案的线索。围绕CONCAT的RTRIM不起作用,但它可以:
非常感谢保罗T!