当前位置: 首页 > 面试题库 >

防止数据库中重复

顾俊茂
2023-03-14
问题内容
$db->query("SELECT * FROM ".DB_PREFIX."users WHERE uid='".$uid_id."' AND login='ExpressCheckoutUser'");
                if ($db->moveNext())
                {

$db->assignStr("address1", $_REQUEST['address_street']);
$db->assignStr("city", $_REQUEST['address_city']);
$db->assignStr("state", $_REQUEST['address_state']);
$db->assignStr("fname", $_REQUEST['first_name']);
$db->assignStr("lname", $_REQUEST['last_name']);
$db->assignStr("email", $_REQUEST['payer_email']);

$db->assignStr("country", $country_code);
$db->assignStr("zip", $_REQUEST['address_zip']);
$db->update(DB_PREFIX."users", "WHERE uid='".$uid_id."'");
$db->reset();
}

每次我通过贝宝付款时,我的信息都会在数据库中捕获,但我想防止重复。那么我该如何解决呢?还是应该检查电子邮件重复项?

编辑 据我所知,pinnaclecart将uid设置为primary。所以将它设置为唯一不是“危险”吗?


问题答案:

名字和姓氏都很好,但是除了唯一之外,其他一切都没有。我认识几个与我同名的人,因此我猜想在这两列上建立唯一索引只会令人沮丧,而无济于事。但是,使我与众不同的是,我是唯一同时拥有我的电子邮件地址和密码的人,因此,我认为这是一个更好的候选人。

ALTER TABLE users ADD UNIQUE unique_emailaddress ( email );

这至少应该对某些重复项有所帮助,但不是对所有重复项都有帮助:用户可能有多个电子邮件地址(我知道我是这样做的;)),但它仍然比名字和姓氏(不是唯一的)的任意组合更好完全没有。



 类似资料:
  • 问题内容: 我想防止使用vb.net和MySQL作为数据库的清单表单中出现重复条目​​,这是我的代码: 结束子 我在搜索答案时发现了这个问题,但是当我尝试运行它时,它没有读取插入命令,而是即使没有相同的人员ID也会直接转到msbox“人员ID已经存在”。 有人可以检查为什么不阅读插入内容, 我的数据库表值: pcode =主键 lname =长文本 fname =长文本 办公室=长文本 名称=长文

  • 问题内容: 我有一个表,用于存储有关某些事件重复发生的值,例如,与发生在星期一,星期三和星期五的事件,以及与发生在星期一和星期三的事件。所以我的桌子是这样的: 我的问题是有时(并非总是)我的脚本在数据库中插入重复的值,因此我的表的事件1和2的重复发生率是两倍,如下面的表所示: 如果我在列中添加约束,则事件1仅具有星期一值,但我希望该值具有其余值,例如星期三和星期五。如何添加约束来解决此问题? 问题

  • 问题内容: 我想知道如何防止在数据库表中使用两个相同的标签。有人说我在表中使用两个私钥。但是,W3Schools-网站表示这是不可能的。 问题答案: 我已经更新了NORMA模型,使其与您的图表更加匹配。我可以看到您在哪里犯了一些错误,但是其中一些错误可能是由于我的早期模型造成的。 我已更新此模型以防止重复标签。以前真的没关系。但是,既然您想要它,这里就是(对于Postgres): 请注意,现在有一

  • 问题内容: 我将“父母”表单嵌入到另一个“学生”表单中,该表单包含一个学生的父母的数据,并且具有“多对一”关联。 当一个新的学生注册被记录时,他的父母在数据库的另一个表中。然后,如果作为现有兄弟的新学生需要注册,这意味着父母已经在数据库中注册,则应阻止父母再次在数据库中注册,只能升级。 有人告诉我可以使用数据转换器解决此问题,但是我不知道如何使用它。如果有人可以帮助我,我将不胜感激。我在这里留下代

  • 我对spring boot data jpa有点陌生,据我所知@entity用于表示应用程序中的数据库表,对于这个项目来说,我使用和作为内存数据库。 到目前为止我有这个。 在resources/data.sql内部 在执行应用程序时,我得到了这个错误 为什么@Entity试图重新创建一个应该只表示的表,有没有一种方法可以禁用它?

  • 问题内容: 我想创建一个表来存储设备设置。该表具有三行:id,parameter_name和parameter_value。 该表是通过执行以下查询语句创建的: 然后通过执行以下方法存储行: 创建数据库后,将存储默认值: 但是,方法insertRow()的问题在于它无法防止重复输入。 有谁知道在这种情况下如何防止重复输入? 问题答案: 您可以使用列约束。 UNIQUE约束导致在指定列上创建唯一索引