diff --git a/obj.go b/obj.go index bd985cb..cfea80d 100644 --- a/obj.go +++ b/obj.go @@ -265,12 +265,28 @@ func setObjSubTypeId(objId int64, objSubTypeID64 int64) error { } func objAddName(objID64 int64, name string) error { - stmt, err := db.Prepare(`INSERT INTO obj_name (obj_id, name, priority) - SELECT ? obj_id, ? name, (SELECT count(*) FROM obj_name WHERE obj_id = ?) priority FROM DUAL;`) + var priority int64 - _, err = stmt.Exec(objID64, name, objID64) + stmt, err := db.Prepare(`SELECT COUNT(*) FROM obj_name on WHERE on.obj_id = ?`) + if err != nil { + return err + } defer stmt.Close() + err = stmt.QueryRow(objID64).Scan(&priority) + if err != nil { + return err + } + + stmt2, err := db.Prepare(`INSERT INTO obj_name (obj_id, name, priority) + VALUES (?, ?, ?);`) + if err != nil { + return err + } + defer stmt2.Close() + + _, err = stmt2.Exec(objID64, name, priority) + return err }