第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go MySQL 存儲過程無法返回結(jié)果集

Go MySQL 存儲過程無法返回結(jié)果集

Go
慕運維8079593 2021-07-14 13:01:50
如果我運行以下代碼,但將“CALL”替換為"SELECT * FROM User LIMIT 1"我找回了一個用戶。如果我切換到調(diào)用存儲過程,我會不斷收到此錯誤:panic: Error 1312: PROCEDURE MobiFit_Dev.User_ByEmail can't return a result set in the given context [recovered]    panic: Error 1312: PROCEDURE MobiFit_Dev.User_ByEmail can't return a result set in the given context我如何呼叫我的 SP?這是我的 SP:DELIMITER $$USE `MobiFit_Dev`$$DROP PROCEDURE IF EXISTS `User_ByEmail`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `User_ByEmail`(pEmail VARCHAR(250))BEGIN    SELECT         *     FROM        `User`     WHERE `Email` = pEmail ;END$$DELIMITER ;包實體import (    "database/sql"    "fmt"    "github.com/go-sql-driver/mysql"    "mobifit/db"    // "time")const (    Male   = "Male"    Female = "Female")type User struct {    Id             sql.NullInt64    Email          sql.NullString    HashedPassword sql.NullString    RoleId         sql.NullInt64    FirstName      sql.NullString    LastName       sql.NullString    Gender         sql.NullString    DateOfBirth    mysql.NullTime    Height         sql.NullFloat64    CurrentWeight  sql.NullFloat64    CreatedAt      mysql.NullTime    ConfirmedAt    mysql.NullTime    LastActivityAt mysql.NullTime    DeletedAt      mysql.NullTime}func UserByEmail(email string) *User {    db := db.DB()    u := new(User)    rows, err := db.Query("CALL User_ByEmail(?)", email) << A SELECT *... works but this doesn't    if err != nil {        panic(err)    }    fmt.Println(rows.Columns())    for rows.Next() {        if err := rows.Scan(            &u.Id,            &u.Email,            &u.HashedPassword,            &u.RoleId,            &u.FirstName,            &u.LastName,            &u.Gender,            &u.DateOfBirth,            &u.Height,            &u.CurrentWeight,            &u.CreatedAt,            &u.ConfirmedAt,            &u.LastActivityAt,            &u.DeletedAt); err != nil {            panic(err)        }    }    if err := rows.Err(); err != nil {        panic(err)    }    fmt.Println(u)    return u}
查看完整描述

2 回答

?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

嘗試使用單引號。

像這樣

CALL User_ByEmail('?');

當輸入?yún)?shù)的類型為 時VARCHAR,您應該始終在值周圍使用單引號。


查看完整回答
反對 回復 2021-07-19
  • 2 回答
  • 0 關(guān)注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號