如果表中不存在整行,我想插入表中。我的代码如下:
$insert_sql="insert ignore into indexes(id,user_id,course_id,index) values
('','".$row2['user_id']."','".$course_id."','".$index."')";
mysqli_query($db,$insert_sql);
但它会插入重复的行
答案 0 :(得分:0)
insert ignore
忽略所有错误。如果您试图避免重复,那么我建议您使用on duplicate key update
。这只会忽略重复的一个错误。
首先定义重复键:
create unique index idx_indexes_col1_col2 on indexes(col1, col2)
(无论你想要什么,都是唯一的)。
然后insert
喜欢:
insert into indexes(col1, col2, . . . )
values (. . . )
on duplicate key update col1 = values(col1);
col = values(col1)
并没有真正做任何事情 - 价值不会改变。但它确实可以防止一个错误。