我今天对此做了很多询问,可能是我的问题,我没有弄清楚我的问题,但是我现在想在sql中进行改进
我正在接受培训,但在使用sql时迷失了。。。到目前为止,我做得很好,我在asp.net C#中编写了一个程序,用户可以在其中将excel文件导入数据库... / p>
老板希望我避免以后重复记录,例如
命名年龄城市 佩德罗12里斯本 丽塔18伦敦 丽塔18伦敦
如何避免最后一行与第二行相同? 有一个查询可以在插入重复项后立即删除重复项?
答案 0 :(得分:2)
在这种情况下,您不会“立即删除”记录。相反,insert
只会失败。
如果要防止所有列重复,则可以使用唯一约束或唯一索引(前者是使用后者实现的):
alter table t add constraint unq_t_all_cols unique (name, age, city);
更常见的是,表在列的子集上具有主键和唯一约束/索引。在这种情况下,它可能是name
-尽管通常不如某种形式的实际ID好。
答案 1 :(得分:0)
您可以将EXCEPT子句添加到您的插入语句中,以用作唯一元组所需的任何字段。
writer = SummaryWriter(flush_secs=1)