2010-09-01 129 views
0

我使用phpmyadmin为我创建的网站,并有一个关于将值插入到外键的问题。SQL:插入值到外键

林能够选择的图像表ID当事件表事件山坳是x值即...

$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."')"; 

-Im试图插入图像插入图像表和新事件到事件表,使这个新形象属于这个新的事件。 - 插入图像时如何插入现有事件?

任何帮助将是很好的谢谢你。

回答

1

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

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

+0

php不会让我做交易报表,甚至是真正基本的报表,我会在这里做一个查询,提交和结束。我发现了一些嵌套ifs的解决方法,谢谢 – slexAtrukov 2010-09-02 10:13:34

+0

这里是关于PHP中的事务处理的文章,如果你需要的话: http://www.devarticles.com/c/a/MySQL/Using-Transactions-with-MySQL -4.0-and-PHP/ – dwarFish 2010-09-02 11:02:31

1

SQL语法无效。没有办法在SQL中执行一条指令。

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

+2

欲了解更多有关基本事务的概念,请阅读http://dev.mysql.com/doc/refman/4.1/en/commit.html – 2010-09-01 09:17:58

2

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

在这两种情况下,你都应该使用一个事务来确保你插入所有你想要或不想要的。 (在这种情况下是事件和图像)。

阅读有关事务和隔离级别的内容以更好地理解此内容。