2010-09-01 122 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

您應該首先插入事件,如果確定,則插入圖像(如果有)。 不知道,你想怎麼做,但我認爲你應該檢查是否有插入或更新,你想要的。

在這兩種情況下,你都應該使用一個事務來確保你插入所有你想要或不想要的。 (在這種情況下是事件和圖像)。

閱讀有關事務和隔離級別的內容以更好地理解此內容。