mysql虚拟列virtual columns


mysql虚拟列virtual columns
查找相关文章:mysql virtual columns

其中一个表因为字段比较多,然后设置了一个主键

以前一直不知道这个主键是有字段数量限制的

发现字段数量已经达到了15个

后来因为业务需求需要再增加字段已经增加不了了

怎么办

后来就想到了虚拟列

通过把几个字段联合成另外一个字段,不影响原有的逻辑和代码

又能增加唯一索引的字段

ALTER TABLE `statistics_dynamic_creative`ADD dc_hash varchar(512) generated always AS (CONCAT_WS(',',element0,element1,element2,element3,element4,element5,element6,element7,element8,element9,background,url)) AFTER element9,
ADD md5_hash varchar(32) generated always AS (MD5(dc_hash)) STORED AFTER dc_hash,
DROP PRIMARY KEY,
ADD PRIMARY KEY(
`campaign_id`,
`ad_id`,
`creative_id`,
`size_id`,
`ad_set_id`,
`statistics_date`,     
`md5_hash`);