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
可能会阻止该消息。