我有一个数据库表(mysql 5),就像这个示例数据:
ID,名称,描述
1,示例,测试说明
2,示例,不同的desc
3,示例 2 ,另一个desc
4,示例 3 ,等等等等等等等
(请注意,#1和#2具有相同的名称,3和4是唯一的。
我想做的是创建一个新表,只有这些数据:
1,例如,测试说明
3,example2,另一个desc
4,example3,blah blah blah
即确保第2列是唯一的。
我怎么能轻易做到这一点?我没有偏好它不保留的东西
答案 0 :(得分:3)
试试这个:
INSERT INTO
new_table(`id`, `name`, `description`)
SELECT `id`, `name`, `description` FROM old_table GROUP BY `name`
如果您希望重新生成ID,则可以从该查询中删除id
列,前提是您的ID列为auto_increment
。
另一种方法是在UNIQUE
的{{1}}字段上加name
约束,并使用new_table
关键字:
IGNORE