diff --git a/core/src/main/java/com/databasir/core/domain/document/service/DocumentService.java b/core/src/main/java/com/databasir/core/domain/document/service/DocumentService.java
index 855f541..9803bac 100644
--- a/core/src/main/java/com/databasir/core/domain/document/service/DocumentService.java
+++ b/core/src/main/java/com/databasir/core/domain/document/service/DocumentService.java
@@ -238,7 +238,7 @@ public class DocumentService {
         GroupPojo group = groupDao.selectById(project.getGroupId());
         List<TableColumnDocumentPojo> columns = tableColumnDocumentDao.selectByTableDocumentId(table.getId());
         // clear outdated data before save
-        documentFullTextDao.deleteByTableId(table.getId());
+        documentFullTextDao.deleteTableFullText(table.getId());
         List<DocumentFullTextPojo> fullTextPojoList = columns.stream()
                 .map(column -> {
                     String tableName = table.getName();
diff --git a/dao/src/main/java/com/databasir/dao/impl/DocumentFullTextDao.java b/dao/src/main/java/com/databasir/dao/impl/DocumentFullTextDao.java
index 26740b2..2b3ee22 100644
--- a/dao/src/main/java/com/databasir/dao/impl/DocumentFullTextDao.java
+++ b/dao/src/main/java/com/databasir/dao/impl/DocumentFullTextDao.java
@@ -160,8 +160,9 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
         return new PageImpl<>(content, pageable, total.longValue());
     }
 
-    public int deleteByTableId(Integer tableDocumentId) {
-        return this.delete(DOCUMENT_FULL_TEXT.TABLE_DOCUMENT_ID.eq(tableDocumentId));
+    public int deleteTableFullText(Integer projectId) {
+        return this.delete(DOCUMENT_FULL_TEXT.PROJECT_ID.eq(projectId)
+                .and(DOCUMENT_FULL_TEXT.TABLE_DOCUMENT_ID.isNotNull()));
     }
 
     public int deleteByGroupId(Integer groupId) {