Add db.InsertStruct(Table, *interface{}) support
Opened this issue · 2 comments
This package is extremely helpful when you want to simplify sql usage in your app without requiring the fullness of xorm so thank you for writing it.
One thing that would make this library a lot more useful is a new func on core.DB
, It should allow users to specify the table and provide the struct and automatically generate the required sql for it.
For example
user = User{
Name:"lunny",
Title:"test",
Age: 18,
}
result, err = db.ExecStruct("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)",
&user)
would become
user = User{
Name:"lunny",
Title:"test",
Age: 18,
}
result, err = db.InsertStruct("user", &user)
What do you think?
It has been implemented by XORM I think. And this feature will consider name mapping and different database quotes. So this needs many works I think.
@lunny You are correct, a similar solution is available in xorm. The solution present in xorm requires the user to create an engine and go through all that trouble, there are usecases when you just want to execute some raw sql while still having a cleaner way to perform inserts.
But if the request is out of the scope of this package, please do let me know