【问题标题】:inserting value into forgein key将值插入外键
【发布时间】:2017-04-27 15:09:20
【问题描述】:

在谈到 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 是表名。

【问题讨论】:

标签: sql foreign-keys sql-insert


【解决方案1】:

如果您希望将外键插入表中,则必须插入包含在约束映射到的表中的键的值。

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

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

在这种情况下,我假设 TableWithPK 表中有一个主键,其值为 1234。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2019-03-20
    • 1970-01-01
    相关资源
    最近更新 更多