php - 如何在mysql中插入唯一值

标签 php mysql

我正在尝试将数据从 cvs 文件上传到 mysql。我想过滤列滚动的重复值。 例如。

Table1 
-----------
 id  name    roll
 1  Nirdos    4  
 2  krishn    2 
 3  shrest    2 

如果数据是这样的,我想插入前两行,因为第三行与第二行有重复的行。

提前致谢

最佳答案

您可以使用以下INSERT INTO ... SELECT语句来执行插入:

INSERT INTO targetTable (id, name, roll)
SELECT t1.id, t1.name, t1.roll 
FROM sourceTable AS t1
JOIN (SELECT roll, MIN(id) AS min_id
      FROM sourceTable
      GROUP BY roll) AS t2
ON t1.roll = t2.roll AND t1.id = t2.min_id 

如果 roll 值重复,此查询将插入具有最小 id 值的记录。

关于php - 如何在mysql中插入唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35649243/

相关文章:

php - MySql 获取 id = xxx 且具有相同 id 的行中其他表中的最新列大于 1 的所有行

mysql - MySQL 中多列索引中的列顺序

Php mysql while循环获取行

php - 创建将数据提交到数据库并发送电子邮件的组合 PHP 脚本时出现的问题

javascript - 我怎么知道 DOM 是否关闭?

php - 访问 ESI 标记内的 php 变量

mysql - MYSQL中如何交叉检查两个表并将相关数据插入到新表中?

php - 如何确保 PDO 的 lastInsertId() 不是另一个同时插入的?

php - DIV 向下一行

php - $_SERVER ['REQUEST_URI' ] 和 $_GET ['q' ] 有什么区别?