对于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);
skoid
和firmaid
是外键,str
和antall
是整数。
所有变量都是数字,外键中的数字在正确的范围内。
sport-bestilling
是表名。
答案 0 :(得分:0)
如果要将外键插入表中,则必须插入约束所映射到的表中包含的键值。
插入外键值时,最好不要通过插入手动将值插入到values()语句中,而是插入一个子查询,从子表中选择主键和您要映射到的表中的值。这样你只会插入映射的键。这是一个例子。
Insert into TableWithFK (ForeignKeyId, FooValues)
Select PrimaryKeyId, FooValues from TableWithPK
Where PrimaryKeyId = 1234
在这种情况下,我假设TableWithPK表中的主键值为1234.