如何创建 table 以便在插入记录时将复合键值插入另一列?

How to create a table such that when ever a record is inserted, composite key values gets inserted in another column?

在创建 table 时,我可以找到许多方法来创建唯一的复合键。但是我无法弄清楚如何在插入记录时自动创建包含复合键值的列。

例如

如果我

insert ('pine','apple') into Fruits

我希望 table 成为

name1   name2   fullname
------------------------
pine    apple   pine apple

我的创建语句。

create table ( column_names,
primary key(name1,name2));

我必须对创建语句进行哪些更改才能实现此目的?提前致谢。

使用生成的列:

CREATE TABLE mytable ( name1 VARCHAR(127) NOT NULL,
                       name2 VARCHAR(127) NOT NULL,
                       fullname VARCHAR(255) AS (CONCAT(name1, ' ', name2)) STORED,
                       PRIMARY KEY(fullname) );
-- or
CREATE TABLE mytable ( name1 VARCHAR(127) NOT NULL,
                       name2 VARCHAR(127) NOT NULL,
                       fullname VARCHAR(255) AS (CONCAT(name1, ' ', name2)) VIRTUAL,
                       PRIMARY KEY(name1, name2) );

记住 - 您不能显式地将值设置为生成的列(在 INSERT 或 UPDATE 中)。从列列表中跳过它或使用 DEFAULT 关键字作为其值。