۞ delete statement

۞ qualified-table-name

۞ delete statement with limited

  1. "DELETE" 指令是用來刪除 table 的記錄。如果沒有 "WHERE" 子句,則所有記錄都會被刪除,但 table 還存在。如果有接 "WHERE" 子句,則符合 expr 的記錄會被刪除。
  2. 當沒有 "WHERE" 子句,且 table 也沒有任何 trigger,SQLite 會使用最佳化方法來刪除所有記錄。這個方法不會個別訪問 table 上的每一筆記錄。在 SQLite 3.6.5 之前,使用此最佳化方法會造成 sqlite3_changes() and sqlite3_total_changes() 及 count_changes pragma 無法傳回正確的被刪除筆數。
  3. 假如 SQLite 編譯時有加入 "SQLITE_ENABLE_UPDATE_DELETE_LIMIT" 參數,則 "DELETE" 指令被擴展成可加入 "ORDER BY" 及 "LIMIT" 子句。
  4. "LIMIT" 子句是用來限制被刪除的筆數,並搭配 "ORDER BY" 子句來限制被刪除的順序。
創作者介紹

邱小新の工作筆記

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()