php 标签系统 - 如果标签已经存在于 table

php tag system - if tag already exists in table

我正在建立一个标签系统,并且不希望在标签 table 中添加一个标签(如果它已经存在)。为此,我是否需要 select 并通过其他查询验证 table,或者我可以通过一个查询来完成两者吗?

 if (isset($tag_array)) {
    foreach ($tag_array as $tag_name) {
    $data = array('tag_id' => '', 'name' => $tag_name, 'slug' => '');

    $str = $this->db->insert_string('tags', $data);
    $this->db->query($str);
    }
  }

数据库可以处理这个。在标签名称上创建唯一约束:

alter table tags add constraint unq_tags_tagname unique tags(tagname)

如果您尝试插入相同的名称两次,您的插入代码将生成错误。