我从我的一位同事那里继承了一个MySQL表,我需要一些建议。
该表的结构如下:
| PHONE_NO | ACC_NO | GET_MAIL | DATETIME_CRE | INT_ACC | MAIL |
| 0113313313 | 000001 | YES | 2003-01-01 19:00:00 | 9000001 | N/A |没有主键,因为表不是用主键创建的。我不能将该表重新创建为:
mission critical表,这意味着删除它将导致我的客户在这段时间内损失资金。我需要能够使用查询从表中删除重复的行,而不需要插入主键。从这个意义上说,“复制”是指该行中的所有列都与另一行相同。
编辑这是show create table查询的结果,按yper多维数据集的要求进行;
CREATE TABLE `callerQue` (
`PHONE_NO` varchar(30) DEFAULT NULL,
`ACC_NUMBER` varchar(40) DEFAULT NULL,
`GET_MAIL` varchar(6) DEFAULT NULL,
`DATETIME_CRE` datetime DEFAULT NULL,
`INT_ACC` varchar(40) DEFAULT NULL,
`MAIL` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1'发布于 2015-06-12 06:12:18
不确定这在mysql中是否有效,因为我是MSSQL,但是您可以添加一个标识列-> auto_increment。这将使所有行都是唯一的。然后,您可以根据重复的记录进行分组,例如选择最高的ID。这样,您将只删除一行。重复此操作,直到不再重复。
https://dba.stackexchange.com/questions/103770
复制相似问题