如何從幫助jackcess刪除行表? 我嘗試如此,但它的壞:jackcess刪除行並設置自動增量列
Table ptabl = db.getTable("person"); int pcount = ptabl.getRowCount(); for (int i = 0; i < pcount; i++) { Map<String, Object> row2 = ptabl.getNextRow(); if (row2.get("id") == Integer.valueOf(1)) { ptabl.deleteCurrentRow(); } }
如何組列「id」屬性爲自動增量?
Table newTable = new TableBuilder("diagnosis"). addColumn(new ColumnBuilder("id") .setSQLType(Types.INTEGER) .toColumn()) .addColumn(new ColumnBuilder("name") .setSQLType(Types.VARCHAR) .toColumn()).toTable(db);
1
A
回答
3
如果你的ID列索引,則可以使用IndexCursor快速查找列:
IndexCursor cursor = new CursorBuilder(ptabl).setIndexByColumnNames("id").toIndexCursor();
if(cursor.findFirstRowByEntry(1)) {
cursor.deleteCurrentRow();
}
如果你的id列沒有編入索引,你可以使用普通的光標,這樣更方便,但實際上沒有比你目前的代碼快(只是做一個表掃描):
Cursor cursor = new CursorBuilder(ptab1).toCursor();
Column idCol = ptab1.getColumn("id");
if(cursor.findFirstRow(idCol, 1)) {
cursor.deleteCurrentRow();
}
和你自己的答案表明您已經想出如何使列自動遞增。
1
對於一套自動增量列:
Table newTable = new TableBuilder("diagnosis").addColumn(new ColumnBuilder("id").setAutoNumber(true).setSQLType(Types.INTEGER).toColumn()).addColumn(new ColumnBuilder("name").setSQLType(Types.VARCHAR).toColumn()).toTable(db);
相關問題
- 1. 刪除表格中的所有行,並重置自動增量
- 2. 刪除行並恢復rowId自動增量
- 3. 刪除自動增量中的差距
- 4. 自動增量從表中刪除後
- 5. MySQL設置自動增量「特設」
- 6. 如何從數據表中刪除空數據行,除了自動增量列
- 7. 顯示刪除的自動遞增行
- 8. Laravel 5.3和Redis(predis) - 自動增量散列和刪除散列`行'
- 9. 刪除所有字段的自動增量和重置計數
- 10. 刪除後重置SQL Server中的自動增量
- 11. 如何在laravel用戶刪除中重置自動增量?
- 12. 從PHP刪除後重置mysql自動增量字段值?
- 13. 在EF4中爲自動增量列設置自定義值
- 14. 休眠自動增量設置
- 15. 將自動增量設置爲android
- 16. 設置自動增量到主鍵
- 17. 如何從sybase中的列中刪除自動增量
- 18. 腳本添加和刪除列自動增量屬性
- 19. 如何刪除sqlite中表列的自動增量?
- 20. Mysql ID自動增量不爲null當行刪除篩選
- 21. 將自動增量列修改爲全局自動增量列
- 22. 重置自動增量序列pl-sql
- 23. 重置PK自動增量列
- 24. 創建mdb表字段並將其設置爲自動增量
- 25. 插入2表並設置兩個外鍵自動增量
- 26. 設置並檢索從mysql到java的自動增量值(在jlabel中設置)
- 27. 創建新列,並設置3行的步增量
- 28. 如何使用sql developer設置自動增量列
- 29. phpmyadmin如何設置自動增量的2列
- 30. 如何使自動增量列非自動增量?