Вызов хранимой процедуры через zapier, но без вставленной строки - PullRequest
0 голосов
/ 20 января 2019

У нас есть база данных mysql на нашем сервере Mariadb, мы используем myphpadmin для управления ею и Zapier для управления потоком данных.

В качестве теста я создал простую хранимую процедуру в базе данных, которая вставляет новую строкуи возвращает строку с некоторыми значениями в таблицу с PK (автоинкремент).

DELIMITER $$
CREATE DEFINER=`massageo`@`localhost` PROCEDURE `add_customertest`(IN 
`INName` VARCHAR(255), IN `INPhone` VARCHAR(255), IN `INEmail` VARCHAR(255))
BEGIN

insert into customer (Name,Phone,Email)
values(INName,INPhone,INEmail);
SELECT * FROM customer WHERE Name = INName;
END$$
DELIMITER ;

Когда я вызываю процедуру со стороны сервера myphpadmin, она работает как надо, вставляя новую строку с новымзначения, включая автоинкремент PK.

Теперь Zapier имеет интеграцию под названием «MySQL», в которой есть действие «Найти строку с помощью пользовательского запроса».Когда я подключаюсь как пользователь root и вызываю сохраненное действие

call massageo_MYSQL_TEST4.add_customertest('INName','INEmail','INPhone')

, я не получаю сообщение об ошибке в Zapier.Он отбрасывает новую строку вместе с новым customerId (автоинкремент), как если бы строка была создана.Но когда я смотрю в phpmyadmin, строка не была создана.

Zapier говорит, что не может понять, почему не была вставлена ​​строка, только то, что вызов хранимой процедуры был успешным.Я также попробовал аналогичный сервису Zapier, интегрированный, который имеет интеграцию под названием «вызов хранимой процедуры».Здесь это также работает отлично.Я занес белый IP-адрес Zapier в список удаленных хостов, поэтому теперь я не знаю, что делать.

Я потратил много времени, пытаясь найти ответ без удачи.Я нашел это: 1

, который, я думаю, может иметь к этому какое-то отношение, но я не могу дать своему пользователю больше привилегий, хотя Cpanel.

Я надеюсь, что кто-то можетПомоги мне направить меня в правильном направлении.

1 Ответ

0 голосов
/ 20 января 2019

Я считаю, что это потому, что ваша транзакция не зафиксирована (язык базы данных сохранен) должным образом, и я так думаю, потому что вы говорите, что используете действие под названием «Найти ...», которое звучит как транзакция только для чтения. Попробуйте использовать действие для вставки / обновления данных, я ничего не знаю о Zapier, но похоже, что есть какое-то действие New Row, которое должно сработать.

Возможно, выбранная часть в конце не будет работать, но я думаю, тогда вам нужно использовать триггер

...