是否可以将列组合成表格的主键?
例如我有:
ID_1 | ID_2 | ID_3 | ID_4 | VALUE
----- ------ ------ ------ ------
1 1 1 1 A
1 2 1 1 B
2 1 1 1 A
我希望ID_1,ID_2,ID_3和ID_4的值组合成主键。 感谢
答案 0 :(得分:1)
- 第一个解决方案:
CREATE TABLE IF NOT EXISTS tableName (
id_1 INT NOT NULL,
id_2 INT NOT NULL,
id_3 INT NOT NULL,
id_4 INT NOT NULL,
value VARCHAR(10) NULL,
CONSTRAINT pk PRIMARY KEY (id_1, id_2, id_3, id_4)
);
- 第二个解决方案: 使用关联表。
答案 1 :(得分:0)
有可能,但应该避免。主键应该是一列。
CREATE TABLE `test`.`new_table` (
`id_1` INT NOT NULL,
`id_2` INT NOT NULL,
`id_3` INT NOT NULL,
`id_4` INT NOT NULL,
`value` VARCHAR(45) NULL,
PRIMARY KEY (`id_1`, `id_2`, `id_3`, `id_4`));