Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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 如果条目不存在,则插入SQL_Mysql_Sql - Fatal编程技术网

Mysql 如果条目不存在,则插入SQL

Mysql 如果条目不存在,则插入SQL,mysql,sql,Mysql,Sql,如果表中不存在第一列的值,我想在数据库表中插入一行 例如: Name Value1 Value2 ------------------------ John 2 3 Max 4 6 Alex 0 0 现在我想插入一个值为0和0的新人物,但前提是该人物不存在。例如,如果我尝试插入John,它将不会起任何作用。所有这些都应该在一个查询中完成 有人能帮忙吗 注意,Max在Name上创建索引,使其唯一。此后,您

如果表中不存在第一列的值,我想在数据库表中插入一行

例如:

Name   Value1    Value2
------------------------    
John      2        3
Max       4        6
Alex      0        0
现在我想插入一个值为0和0的新人物,但前提是该人物不存在。例如,如果我尝试插入John,它将不会起任何作用。所有这些都应该在一个查询中完成

有人能帮忙吗


注意,Max

在Name上创建索引,使其唯一。此后,您将无法添加名称已在其中的记录

在名称上创建索引,使其唯一。此后,您将无法添加名称已在其中的记录

您可以在
表(名称)
上创建一个唯一索引,然后使用
插入忽略
重复键更新时插入

create unique index unq_t_name on t(name);

insert into t(name, value1, value2)
    values ($Name, $value1, $value2)
    on duplicate key update name = values(name);

重复键上的
是非操作-如果名称已在数据库中,则不会执行任何操作。

您可以在
表(名称)
上创建唯一索引,然后使用
插入忽略
插入重复键更新

create unique index unq_t_name on t(name);

insert into t(name, value1, value2)
    values ($Name, $value1, $value2)
    on duplicate key update name = values(name);

重复键上的
是一个非操作——如果名称已经在数据库中,它将不起任何作用。

好的,我已经尝试过了,效果非常好。问题是,每次插入一个已经在表get中的人时,控制台都会告诉我该键是重复的。
insert ignore
可能会阻止该消息。好的,我已经尝试过了,效果非常好。问题是,每次插入已在表中的人时,控制台都会告诉我该键重复。
insert ignore
可能会阻止该消息。