SQL:将值插入外键

时间:2010-09-01 09:05:20

标签: php sql phpmyadmin

我正在使用phpmyadmin创建一个我正在创建的网站,并且有关于将值插入外键的问题。

当事件表中的事件col为值x即...

时,我能够选择图像表id
$event = "Partay";

$sql = "SELECT i.ImageID
FROM images i 
INNER JOIN events e 
ON i.eventID = e.eventID
WHERE e.event ='".$event."'";

这适用于选择要显示的图像。但是,当我想插入和图像内连接似乎没有相同的工作。

$sql = "INSERT INTO images i (i.image, e.event) 
INNER JOIN event e 
ON i.eventID = e.eventID
VALUES ('".$content."','".$event."')";

- 我试图将图像插入到图像表中,并将新事件插入到事件表中,以便此新图像属于此新事件。 - 在使用现有事件插入图像时如何插入工作?

任何帮助都会很好,谢谢。

3 个答案:

答案 0 :(得分:2)

你应首先插入事件,如果确定,则插入图像(如果有)。 不知道,你想怎么做,但我认为你应该检查是否有你想要的插入或更新。

在这两种情况下,您都应该使用一个事务来确保您插入所需的全部内容。 (在这种情况下是事件和图像)。

阅读有关事务和隔离级别的内容,以便更好地理解这一点。

答案 1 :(得分:1)

使用包含在事务中的两个单独的insert语句。

要为已存在的事件插入图像,只需使用图像的插入语句。

答案 2 :(得分:1)

无效的SQL语法。在SQL中的一条指令中无法执行此操作。

插入事件,然后插入图像。如果你想确保原子性(确保两者都成功或没有插入寄存器),请使用像swarFish这样的事务。