1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package tables
- import "Wine-Server/utils"
- type OperationTable struct {
- Id string `json:"id"`
- Who string `json:"who"`
- Time utils.TimeType `json:"time"`
- Describe string `json:"describe"`
- }
- func CreateOperationTable() error {
- SQL := "CREATE TABLE IF NOT EXISTS `operation`(" +
- "`id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL," +
- "`who` VARCHAR(32) NOT NULL," +
- "`time` DATETIME DEFAULT CURRENT_TIMESTAMP," +
- "`describe` VARCHAR(128) DEFAULT '');"
- _, err := utils.Mysql.Exec(SQL)
- return err
- }
- func (row *OperationTable) Insert() error {
- SQL := "INSERT INTO `operation`(`who`,`describe`) VALUES(?,?);"
- pre, err := utils.Mysql.Prepare(SQL)
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Who, row.Describe)
- return err
- }
- func (row *OperationTable) Delete() error {
- pre, err := utils.Mysql.Prepare("DELETE FROM `operation` WHERE `id`=?;")
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Id)
- return err
- }
- func (row *OperationTable) Update(args utils.JsonType) error {
- keys, values := utils.UnZip(args)
- SQL := utils.Format("UPDATE `operation` SET %s WHERE `id`=%d;", utils.SqlFields(keys), row.Id)
- pre, err := utils.Mysql.Prepare(SQL)
- if err != nil {
- return err
- }
- _, err = pre.Exec(values...)
- return err
- }
- func (row *OperationTable) UpdateSelf() error {
- SQL := "UPDATE `operation` SET `who`=?,`time`=?,`describe`=? WHERE `id`=?;"
- pre, err := utils.Mysql.Prepare(SQL)
- if err != nil {
- return err
- }
- row.Time = utils.TimeNow()
- _, err = pre.Exec(row.Who, row.Time, row.Describe, row.Id)
- return err
- }
- func (row *OperationTable) Get() error {
- SQL := "SELECT `who`,`time`,`describe` FROM `operation` WHERE `id`=?;"
- pre, err := utils.Mysql.Prepare(SQL)
- if err != nil {
- return err
- }
- err = pre.QueryRow(row.Id).Scan(&row.Who, &row.Time, &row.Describe)
- return err
- }
|