FetchAll () не работает с хранимой процедурой - PullRequest
0 голосов
/ 09 января 2020

Мне нужна помощь, пожалуйста.

У меня есть этот код в Python:

_name = 'TestName'
_email  = 'TestEmail'
_hashed_password = 'TestPassword'

conn  =  mysql.connector.connect(host = 'host', 
            user = 'user', 
            passwd = 'password', 
            database='databasename')                
cursor = conn.cursor()
cursor.callproc('sp_createUser', (_name,_email,_hashed_password))
rows = cursor.fetchall()
conn.commit()

Когда я пытаюсь использовать "cursor.fetchall ()" (чтобы проверить, существует ли Имя пользователя), в консоли я вижу

jquery .min. js: 2 POST http://localhost: 8000 / signUp 500 (ОШИБКА ВНУТРЕННЕГО СЕРВЕРА)

Если я прокомментирую это строка мой код работает хорошо.

В хранимой процедуре я пишу:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_createUser`(
    IN p_name VARCHAR(45),
    IN p_username VARCHAR(45),
    IN p_password VARCHAR (100)
)
BEGIN
    IF (SELECT exists (select 1 from bucketlist.tbl_user where user_username = p_username)) 
        THEN
            SELECT 'Username Exist!!';
    ELSE
        INSERT INTO bucketlist.tbl_user
        (
        user_name,
        user_username,
        user_password)
        VALUES
        (
        p_name,
        p_username,
        p_password);
    END IF;
END
...