将值插入forgein键

时间:2017-04-27 15:09:21

标签: sql foreign-keys sql-insert

对于SQL来说,我是一个新手,所以你可能会发现我的问题很愚蠢,但我老老实实地在网上寻找答案,但是当我试图将它实现到我的代码时它没有用。

所以我试图将变量中的值插入到具有两个外键和两个整数的SQL表中。

所以这是我的代码:

$skovalg = $_POST{"sko"};
$strvalg = $_POST{"str"};
$firmavalg = $_POST{"firma"};
$antallvalg = $_POST{"antall"};

  $select = "insert into sport-bestilling(skoid, firmaid, str, antall) values ('$skovalg', '$strvalg', '$firmavalg', '$antallvalg')";
$sql = mysql_query($select);

skoidfirmaid是外键,strantall是整数。

所有变量都是数字,外键中的数字在正确的范围内。

sport-bestilling是表名。

1 个答案:

答案 0 :(得分:0)

如果要将外键插入表中,则必须插入约束所映射到的表中包含的键值。

插入外键值时,最好不要通过插入手动将值插入到values()语句中,而是插入一个子查询,从子表中选择主键和您要映射到的表中的值。这样你只会插入映射的键。这是一个例子。

Insert into TableWithFK (ForeignKeyId, FooValues)
Select PrimaryKeyId, FooValues from TableWithPK
Where PrimaryKeyId = 1234 

在这种情况下,我假设TableWithPK表中的主键值为1234.