diff --git a/rows.go b/rows.go index cc4fe09d..e04a8c77 100644 --- a/rows.go +++ b/rows.go @@ -35,6 +35,9 @@ func newRows(session *Session, bean interface{}) (*Rows, error) { var args []interface{} rows.session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return nil, ErrTableNotFound + } if rows.session.Statement.RawSQL == "" { sqlStr, args = rows.session.Statement.genGetSql(bean) diff --git a/session.go b/session.go index 4f927bfc..076e2f01 100644 --- a/session.go +++ b/session.go @@ -1014,6 +1014,10 @@ func (session *Session) Get(bean interface{}) (bool, error) { } session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return false, ErrTableNotFound + } + session.Statement.Limit(1) var sqlStr string @@ -1220,6 +1224,10 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } } + if len(session.Statement.TableName()) <= 0 { + return ErrTableNotFound + } + var table = session.Statement.RefTable var addedTableName = (len(session.Statement.JoinStr) > 0) @@ -2219,6 +2227,10 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error bean := sliceValue.Index(0).Interface() elementValue := rValue(bean) session.Statement.setRefValue(elementValue) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + table := session.Statement.RefTable size := sliceValue.Len() @@ -3056,6 +3068,10 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val func (session *Session) innerInsert(bean interface{}) (int64, error) { session.Statement.setRefValue(rValue(bean)) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + table := session.Statement.RefTable // handle BeforeInsertProcessor @@ -3453,6 +3469,10 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 if isStruct { session.Statement.setRefValue(v) + if len(session.Statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + if session.Statement.ColumnStr == "" { colNames, args = buildUpdates(session.Engine, session.Statement.RefTable, bean, false, false, false, false, session.Statement.allUseBool, session.Statement.useAllCols,