2017-08-22 4 views
1

https://github.com/astaxie/beego/tree/master/ormを使用して、structをpostgresデータベースに挿入しようとしています。操作は簡単でなければなりません。beego/ormを使って 'no LastInsertId available'を回避するには

import "github.com/astaxie/beego/orm" 

type Product struct { 
    ID string `orm:"pk"` 
    ... 
} 

product := &Product{ID: productID} 
_, err := orm.NewOrm().Insert(product) 
if err != nil { 
    log.Fatal(err) 
} 

私はこれを続けています。 no LastInsertId availableコードが実行されるたびに(挿入は正常に行われますが)クラッシュします。 私はhttps://www.github.com/lib/pqドライバを使用しているため、postgresqlの制限に起因すると私は理解しています。

beego/ormを使用してこれを回避する方法はありますか?

答えて

1

クラッシュは、あなたのlog.Fatal(err)によって引き起こされている場合は、チェックして、それを回避することにより、これを避けることができます。

_, err := orm.NewOrm().Insert(product) 

if err != nil { 
    if err.Error() == "no LastInsertId available" { 
     log.Println(err) 
    } else { 
     log.Fatal(err) 
    } 
} 
+1

感謝を!それはそれを解決した –

関連する問題