我有这张桌子:
create table teams (team char(1) primary key, players text);
insert into teams('A', 'Jhon');
insert into teams('B', 'Mark');
现在,如何添加播放器' Carl'在团队' A'?
专栏'也许就像一个清单?
答案 0 :(得分:2)
你会这样做:
insert into teams('A', 'Carl');
之后删除主键约束。
实际上,你真正想要的是:
create table TeamPlayers (
TeamPlayerId int auto_increment,
team char(1),
players text
);
然后执行所需的插入操作。这是一个联结表(有点)。它表明你还需要一个Teams
表,每个团队一行,一个Players
表,每个玩家一行。根据应用程序的不同,这些表可能没有必要。
答案 1 :(得分:1)
您已将团队作为主键,因此您无法复制它。
创建一些列ID使其成为主键,然后您可以添加任意数量的成员A
答案 2 :(得分:1)
这应该添加卡尔:
update teams set players =concat(concat(players,','),'Carl') where team='A'
但这不是一个好的数据库设计。
答案 3 :(得分:0)
我想你想要的是什么:
update teams set players = players + ', Carl' where team='A'
如果你将团队和球员放在不同的牌桌上,那就更好了
并在玩家表中使用team_id。
答案 4 :(得分:0)
你可以采取两种方式,
一:
通过附加cama seprated的旧玩家附加新玩家
update teams set players =concat(concat(players,','),'Carl') where team='A'
二:
Don't use primary key for team field and add one auto increment fiend with primary key