如何編輯數據庫中的最新行。我只知道這是最後一個。我不知道它的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. WPF數據集/數據庫行在新窗口中編輯
- 3. 編輯mysql數據庫中的一行
- 4. 編輯數據庫中的一行
- 5. jsp中的可編輯表更新數據庫中的行(可能多於一行)在數據庫中更新
- 6. PHP編輯數據庫中的數據
- 7. 無法編輯JSF的數據庫行
- 8. PHP - 更新/編輯數據庫表中的數據/記錄
- 9. 如何更新dhtmlxgrid中編輯的數據到數據庫
- 10. 如何編輯和更新sqlite數據庫中的數據?
- 11. 在更新到數據庫之前在DataTable中編輯行
- 12. 編輯更新DatagridView VB.Net(無數據庫)
- 13. 用戶更新數據庫編輯
- 14. 無法更新/編輯數據庫
- 15. 編輯AutoCAD數據庫,添加新表
- 16. 從php頁面編輯數據庫行
- 17. Django的編輯和更新現有的數據在數據庫
- 18. django從數據庫中提取數據進行編輯
- 19. 可編輯網格ExtJS,如何在網格上編輯行後更新數據庫中的行
- 20. 在運行時編輯DataGridView並更新數據庫
- 21. 在運行時編輯datagridview並更新數據庫
- 22. 編輯數據庫中的Android
- 23. 編輯數據庫中的選定值
- 24. 識別數據庫中的編輯列
- 25. 更新數據庫,編輯gridview的使用後的交易中
- 26. 編輯數據庫C#
- 27. 編輯數據庫條目
- 28. CSV數據庫列編輯
- 29. 編輯數據庫PHP HTML
- 30. 數據庫 - 編輯過程
+1的原生MySQL的方法是正確的,太 - 從來沒有想過一個^^ – 2010-01-05 22:34:49