2011-05-16 58 views
2

我試圖創建一個新的行,其中圖像名稱與recordID(加'.png')相同。 recordID是一個自動遞增的int。獲取自動遞增的int並插入到另一列

這使得一個新的紀錄:

mysql_query("INSERT INTO record (name,age) VALUES ('$name','$age'')"); 

..和這個得到的recordId:

$newRecordID = mysql_insert_id(); 

但如何做粘的recordId的價值爲IMAGE_NAME柱(加上 'png格式') ,而不必再次搜索它?

回答

2

你並不需要堅持「巴紐」你的形象可言,你的邏輯意味着每個記錄包含有關擴展png圖片信息。爲什麼你甚至需要另一列然後存儲圖像名稱?

第二部分是您爲列名使用保留字。關鍵字NAME被保留,您應該始終避免它。

+0

你是對的。我應該真的把它做成一個布爾值 - 'hasImage'... btw,我用$ name作爲例子 – cannyboy 2011-05-18 13:17:15

0

最好我知道MySQL不提供序列操作功能。所以你不能。

您可以做的最好的做法是將其封裝在存儲過程中以避免往返服務器。

0

也許我在這裏失去了財產以後,但

mysql_query("INSERT INTO image (name,id) VALUES ("$newRecordID".'.png','$newRecordID')"); 
+0

你錯過了這個:在插入過程中會生成'$ newRecordID'。他希望在插入時訪問它,但不能,因爲MySQL沒有爲序列提供'currval()'函數 - 只有auto_increment。 – 2011-05-16 15:30:00

+0

@denis謝謝 – Rob 2011-05-16 15:43:05

相關問題