gpt4 book ai didi

php - MySQL - 列组合的唯一约束 : avoiding error?

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:13 26 4
gpt4 key购买 nike

我对列的组合有独特的限制,而不是对单个列。如果我随后尝试插入违反此限制的数据,MySQL 自然会出错。

顺便说一句,这是通过 PHP > CodeIgniter 实现的。

我的问题是:关于 inesrt,建议的处理方式是什么?我应该...

  • 正在抑制错误? (#flameme)
  • 首先运行查询以确保它不会发生?
  • 允许该错误,因为它不会对用户造成任何可见的问题?
  • 使用 replace into 而不是 insert into? (不过,我相信 CodeIgniter 的 Active Record 类不提供对 replace into 的访问?)

上下文:

我有一个标签表,它存储用户创建的标签来对他们的内容进行分类:

  • id(PK、int、AI、无符号)
  • 标签(varchar 25)
  • user_id(FK,整数,无符号)

给定的用户不能创建他之前创建的标签,因此唯一的限制是 id 和 user_id 列的组合。

最佳答案

$insert_query = $this->db->insert_string('my_table', $data);
$insert_query = str_replace('INSERT INTO','INSERT IGNORE INTO',$insert_query);
$this->db->query($insert_query);

我认为应该这样做。

关于php - MySQL - 列组合的唯一约束 : avoiding error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24408609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com