如何編輯數據庫中的最新行。我只知道這是最後一個。我不知道它的ID。編輯數據庫中的最新行?
回答
我不知道您正在使用哪種語言,在PHP的MySQL的功能,你可以使用
在我所知的每一個mySQL客戶端庫中都有類似的功能。
此外,還有一個native mySQL function!
LAST_INSERT_ID()(無參數) 返回由最 最近執行的INSERT語句用於 AUTO_INCREMENT列設置爲 第一自動 生成的值影響這樣的列。例如, 插入產生 一個AUTO_INCREMENT值的行之後,就可以得到 這樣的值:
的MySQL> SELECT LAST_INSERT_ID(); - > 195
當然,使用AUTO_INCREMENT的主鍵需要這些功能才能正常工作。
對於一個AUTO_INCREMENT id字段的表:
UPDATE tbl SET col1 = 'val1' WHERE id = MAX(id);
不保證,如果有多個用戶/線程 – duffymo 2010-01-05 23:07:27
如果這是一行已插入到您的腳本(您想從中更新它的同一腳本)並且您的表上有一個auto_increment列,則可以使用函數(如這些,對於PHP:
應該有可能用於應用程序的任何語言的等效語言。
如果您試圖從另一個腳本執行更新,而不是執行插入操作,並且仍然有auto_increment列,則最好的方法可能是更新具有最大值的行該列:
update your_table
set your_column = ...
where id = max(id)
或者,在兩個步驟(不知道它會在一個工作):
select max(id) as id from your_table
update your_table set your_column = ... where id = [what you got with thr first query]
男人男人的男人......你的PHP簡單的答案最好的。 :) – 2010-01-05 22:32:31
即使這個問題沒有指定「php」,我仍然給出一個與PHP相關的答案 - 好吧,PHP經常使用,它可能適用於這裏;;謝謝 :-) – 2010-01-05 22:33:59
您還可以使用UPDATE table SET ... WHERE id=LAST_INSERT_ID()
(suppos最後一個插入位於要查詢的表上)。
我不會使用兩個步驟來找到最後一個插入ID,只是因爲可以同時添加一條新記錄。
根據你的版本,你應該可以調用$ handle-> last_id();或$ handle - > {mysql_insertid};
克里斯
- 1. 更新/編輯數據庫
- 2. 編輯數據庫中的一行
- 3. PHP - 更新/編輯數據庫表中的數據/記錄
- 4. 編輯更新DatagridView VB.Net(無數據庫)
- 5. 無法更新/編輯數據庫
- 6. 用戶更新數據庫編輯
- 7. Django的編輯和更新現有的數據在數據庫
- 8. django從數據庫中提取數據進行編輯
- 9. 在運行時編輯datagridview並更新數據庫
- 10. 更新數據庫,編輯gridview的使用後的交易中
- 11. CSV數據庫列編輯
- 12. 編輯數據庫PHP HTML
- 13. 添加編輯按鈕到html表中的每一行,編輯數據庫
- 14. 以編程方式編輯SQLite數據庫中的數據
- 15. 重新編輯數據庫時保留連接表數據
- 16. 編輯wpf數據網格中整行的最佳方式?
- 17. 編輯數據庫元數據
- 18. Oracle:如何僅更新oracle數據庫中的最新行
- 19. 如何在R中編輯數據庫?
- 20. TableView在javafx中編輯數據庫表
- 21. 將編輯行中的值傳遞到數據庫
- 22. 最好的Oracle數據庫管理器/編輯器?
- 23. 編輯/查看SQL Server 2008數據庫的最佳工具
- 24. 編輯數據網格行
- 25. 編輯mysql數據庫表中的預先存在的數據
- 26. PHP MySQL的編輯數據庫條目
- 27. BSON數據庫的簡單編輯器
- 28. 的Django當編輯從數據庫
- 29. 使用mysql中最舊行的數據更新最新一行
- 30. 從剃刀視圖中的數據庫編輯數據
+1的原生MySQL的方法是正確的,太 - 從來沒有想過一個^^ – 2010-01-05 22:34:49