我正在使用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."')";
- 我试图将图像插入到图像表中,并将新事件插入到事件表中,以便此新图像属于此新事件。 - 在使用现有事件插入图像时如何插入工作?
任何帮助都会很好,谢谢。
答案 0 :(得分:2)
你应首先插入事件,如果确定,则插入图像(如果有)。 不知道,你想怎么做,但我认为你应该检查是否有你想要的插入或更新。
在这两种情况下,您都应该使用一个事务来确保您插入所需的全部内容。 (在这种情况下是事件和图像)。
阅读有关事务和隔离级别的内容,以便更好地理解这一点。
答案 1 :(得分:1)
使用包含在事务中的两个单独的insert语句。
要为已存在的事件插入图像,只需使用图像的插入语句。
答案 2 :(得分:1)
无效的SQL语法。在SQL中的一条指令中无法执行此操作。
插入事件,然后插入图像。如果你想确保原子性(确保两者都成功或没有插入寄存器),请使用像swarFish这样的事务。