mysql - 在一个 SQL 查询中组合 INSERT 和 SELECT (Zapier)

标签 mysql sql zapier

如果没有具有指定唯一键的条目或什么都不做,我正在制作 Zapier 任务以在 MySQL 中插入条目。

我需要尝试将新行插入到某个表中,但是如果新条目的电子邮件已经是 INSERT 将默默地抛出警告(由于 IGNORE 关键字)。

INSERT IGNORE users(email, hashed_password)
VALUES ('<email>`, '<some_hashed_password>')

但在这两种情况下,我的查询都没有返回任何内容,Zapier 以这条消息结束任务:

enter image description here

问题:有没有什么方法可以让一个复杂的 SQL 命令结合 INSERTSELECT 这样我就可以通过一个查询从中得到一些结果集数据库,不是空对象或任何 INSERT 返回的东西?

P.S. 这适用于 MySQL:

INSERT IGNORE reporting.users(`email`, `password`)
VALUES ("test@test.ts", "test");
SELECT * FROM reporting.users as u WHERE u.email = "test@test.ts";

但这由两个查询组成,在 Zapier 中不起作用。

最佳答案

这是一个老问题,但我今天正在努力解决同样的问题。在试图找到解决方案时,我遇到了这个问题,所以当我找到解决方案/解决方法时,我认为我会做一些体面的事情并回发......

根据他们帖子中的红色“Bargle”错误,我相信 zmii 一定一直在尝试使用 MySQL 自定义搜索查询。 Zapier 必须有查询的输出,否则它会出错。我环顾四周并设计了我的自定义查询:

SELECT IFNULL( (SELECT employee_id FROM timesheets.employees WHERE employee_id = <Step 6 | sheet_data_id> LIMIT 1) ,0) AS result;

基于所选答案 here .

因此,如果找到员工 ID,我的查询将输出一个员工 ID,否则输出 0。然后,我插入了一个 Zapier PATHS 步骤,该步骤基于自定义查询的输出“结果”。如果结果大于 0,我更新现有记录。如果它是 0 那么我插入一条新记录。我怀疑我可以使用自定义查询代码来进行分支和更新/插入,但我还没有尝试过,因为我还有其他事情要先尝试。

编辑 实际上,我不得不根据与 Zapier 的对话修改此答案 here .我保留了原始答案但隐藏了它。语法有效,但仅当查询是 SELECT 时才有效。查询,它不适用于 INSERTUPDATE询问。有关详细信息,请参阅链接问题的评论中的讨论。本质上,在此阶段无法通过 Zapier MySQL 自定义查询步骤执行插入或更新操作。

关于mysql - 在一个 SQL 查询中组合 INSERT 和 SELECT (Zapier),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297752/

相关文章:

mysql - 按桶分组(具有 NULL 值)

firebase - 协作者电子邮件邀请的安全性

javascript - 如何通过 zapier webhook 通过 twilio 发送 Whatsapp 消息

PHP,类别,SELECT FROM INNERJOIN WHERE

php - 如何使用 LIKE 编写查询来接受特殊字符?

mysql - 在 MySQL 中管理分层数据

sql - 无法将查询从 Oracle SQL 传输到具有多个联接的 MS SQL

javascript - 是否可以在 Zapier 代码中启动服务器

javascript - jquery mobile和php mysql中将动态字段数据存储到数据库

mysql - 如何正确处理多个特权MySQL连接帐户