如何在mysql中的一列但不同的行中插入相同的记录?

时间:2015-05-29 17:17:03

标签: mysql database insert

如何在两列但不同的行中插入相同的记录而不重复同一行中的两列?

我有两张桌子

  

结构表rek

  • rek int(主键)
  • name varchar(10)
  • 地址varchar(15)
  

结构表cek

  • cek int(主键)
  • rek int(外键)
  • 约会日期

表rek

rek   name   address
001   Jane   Alaska
002   Amel   Washington
003   John   Virginia

表格cek(我希望我的输出看起来像下表。)

cek    rek   date
01     002   12-05-2015
01     003   12-05-2015
02     002   13-05-2015
03     001   12-05-2015

如果我想要像table cek这样的输出,我如何在表格中插入?当我尝试插入数据时,如上表所示,我不能。当我从cek中删除主键时,数据被复制了。

2 个答案:

答案 0 :(得分:0)

从第二张表中删​​除主键和两列中的Fk。 用这种方式在列(cek,rek)上创建复合主键,你可以用两列但不同的行记录,而不是在同一行中复制两列...... 或者最好的办法是在这两列之间创建桥接表

答案 1 :(得分:0)

通过将列cek声明为主键,您说每个cek值在表中是唯一的。但是根据你想要的输出,这不是你想要的。也许你想要的是(cek,rek)对或(cek,rek,date)三胞胎是独一无二的。如果是这样,请声明这样的(复合)主键。但是你还没有告诉我们足够让我们知道主键。