【问题标题】:PHP | Mysql how to stop from inserting if any record with same id overdate existPHP |如果存在具有相同ID过期的任何记录,Mysql如何停止插入
【发布时间】:2018-11-01 11:54:41
【问题描述】:

嗯,我有这个每天标记出勤的考勤系统,我正在寻找的是 PHP 代码以外的限制,比如可以限制用户随着时间的推移输入重复记录的限制。 例如,我已经标记了我的出勤率。myself

日期 22-05-2018 和 trackingid = 1

如果我尝试再插入一次标记出勤,它不应该插入该语句。

它可以通过 php 和它的长代码来完成,我的意思是它是可能的,但是有什么办法可以使用 MySQL,如果它们都已经存在,我们可以通过它使 2 列唯一,只是不要让用户插入。

【问题讨论】:

  • 使用可以通过SQL Query在mysql中设置unique_index
  • 你试过什么?如果它是一个长代码有什么问题?看起来它只是一个选择查询和一个条件。
  • 通过 sql 查询的唯一索引?基本上我需要一个 2 列的唯一索引。就像我可以使单个列唯一并且它不会让任何重复的记录插入但我希望这个功能只在有 2 列的重复而不是一个时发生
  • 我正在考虑一种替代 sql 的方法,如果它甚至有可能会如此先进和一些新的东西。

标签: php mysql sql web


【解决方案1】:

在列上使用 unique_index

ALTER TABLE `tablename` ADD UNIQUE `unique_index`(`columnOneName`, `columnTwoName`);

【讨论】:

    【解决方案2】:

    您还可以在创建表时使用以下类似 sql:-

    CREATE TABLE `tableName` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `columnOne` int(11) DEFAULT NULL,
    `columnTwo` int(11) DEFAULT NULL,
    `columnThree` varchar(128),
    PRIMARY KEY (`id`),
    UNIQUE KEY `columnOne_columnTwo_unique_index` (`id_box_elements`,`id_router`)
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 2010-11-26
      • 1970-01-01
      • 2013-12-27
      相关资源
      最近更新 更多