Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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_Conditional - Fatal编程技术网

如果某一行在另一个表上不存在,则MySQL条件插入到一个表

如果某一行在另一个表上不存在,则MySQL条件插入到一个表,mysql,sql,conditional,Mysql,Sql,Conditional,可以这样执行插入查询吗 INSERT INTO `table_1` VALUES ('val1','val2','val3') WHERE ( SELECT COUNT(*) FROM `table_2` WHERE col1='somevalue' )=0; 您可以使用insert。选择: 注: 这似乎真的很奇怪。当表_2中不存在具有其他值的行时,限制插入表_1。 NOT EXISTS比使用COUNT*更有效。 使用INSERT时,应始终列出列。 您可以使用insert。选择:

可以这样执行插入查询吗

INSERT INTO `table_1`
VALUES ('val1','val2','val3')
WHERE (
  SELECT COUNT(*)
  FROM `table_2`
  WHERE col1='somevalue'
)=0;
您可以使用insert。选择:

注:

这似乎真的很奇怪。当表_2中不存在具有其他值的行时,限制插入表_1。 NOT EXISTS比使用COUNT*更有效。 使用INSERT时,应始终列出列。 您可以使用insert。选择:

注:

这似乎真的很奇怪。当表_2中不存在具有其他值的行时,限制插入表_1。 NOT EXISTS比使用COUNT*更有效。 使用INSERT时,应始终列出列。 您可以使用,来简化查询构造:插入到表_1 col1、col2、col3中,从不存在的对偶中选择“val1”、“val2”、“val3”,从表_2中选择1,其中col1=“somevalue”;。您可以使用,来简化查询构造:插入到表_1 col1、col2、col3中,从不存在的对偶中选择“val1”、“val2”、“val3”,从表_2中选择1,其中col1=“somevalue”;。
INSERT INTO `table_1`(col1, col2, col3)
    SELECT col1, col2, col3
    FROM (SELECT 'val1' as col1,'val2' as col2, 'val3' as col3) t
    WHERE NOT EXISTS (SELECT 1
                      FROM table_2 t2
                      WHERE t2.col1 = 'somevalue'
                     );