我正在寻找与架构无关的查询。查询应该同样能够捕获数据库中任一表中的重复行。我有许多没有主键的表。我找到了sql server的结果[我最有经验]但是在mysql中寻找相同的东西
答案 0 :(得分:0)
使用动态SQL使用information_schema
中的列信息生成查询:
SET @tablename = 'yourTable';
SET @sql = (
SELECT CONCAT('SELECT *
FROM `', table_name, '`
GROUP BY ', GROUP_CONCAT(CONCAT('`', column_name, '`')), '
HAVING COUNT(*) > 1')
FROM information_schema.columns
WHERE table_name = @tablename );
PREPARE stmt FROM @sql;
EXECUTE stmt;