Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果不存在条件mysql,请插入元组_Mysql_Sql_Mysql Workbench - Fatal编程技术网

如果不存在条件mysql,请插入元组

如果不存在条件mysql,请插入元组,mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,我想编写一个查询,在满足条件时插入元组。 e、 g 表r: CREATE TABLE r(A INT, B INT) 表b: CREATE TABLE b(C INT, D INT, E INT) 如果在b中没有类似于(1,2,2)的元组,我想在r中插入元组(1,1) 我尝试了此查询,但出现语法错误: IF NOT EXISTS(SELECT * FROM b WHERE C=1 AND D=2 AND E=2) Begin INSERT INTO r VALUES(1, 1) En

我想编写一个查询,在满足条件时插入元组。 e、 g

表r:

CREATE TABLE r(A INT, B INT)
表b:

CREATE TABLE b(C INT, D INT, E INT)
如果在b中没有类似于
(1,2,2)
的元组,我想在r中插入元组
(1,1)

我尝试了此查询,但出现语法错误:

IF NOT EXISTS(SELECT * FROM b WHERE C=1 AND D=2 AND E=2)
Begin
    INSERT INTO r VALUES(1, 1)
End

有什么方法可以做到这一点吗?

您可以使用下面的SQL查询。在上面的帖子中,你们试图使用程序,但这不是正确的方法;按照给定的链接了解更多信息


我建议这样写:

INSERT INTO r (A, B)
    SELECT 1, 1
    WHERE NOT EXISTS (SELECT 1 FROM b WHERE C = 1 AND D = 2 AND E = 2);

你是通过一个程序来做这件事的吗?因为从代码中进行两次查询很容易做到这一点。@TimRoberts不,我不使用任何第三方语言,只使用SQL查询。(这是我家庭作业的一部分)在阅读文档时,流控制语句只能在存储过程中使用。你在课堂上讨论过存储过程了吗?
INSERT INTO r (A, B)
    SELECT 1, 1
    WHERE NOT EXISTS (SELECT 1 FROM b WHERE C = 1 AND D = 2 AND E = 2);