使用insert将(不更新)字段添加到列sql中

时间:2014-06-26 11:53:17

标签: mysql sql

我有这张桌子:

create table teams (team char(1) primary key, players text);

insert into teams('A', 'Jhon');
insert into teams('B', 'Mark');

现在,如何添加播放器' Carl'在团队' A'?

专栏'也许就像一个清单?

5 个答案:

答案 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