php – 如果A中的列不重复,则将tableA复制到tableB
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如果A中的列不重复,则将tableA复制到tableB,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1931字,纯文字阅读大概需要3分钟。
内容图文
![php – 如果A中的列不重复,则将tableA复制到tableB](/upload/InfoBanner/zyjiaocheng/732/9bafdb7919104606904e0223d1df7510.jpg)
我试图将tableA中的行复制到空白表B.
tableA有一个列mytext,这些行与此列有重复.
题
如何从A复制到B,其中mytext没有重复的行?换句话说,如果2个或更多行在mytext中具有相同的值,请保留具有最低ID编号的行并复制到tableB.
最初我试图删除重复项但仍然出现错误错误代码:1205.此sql命令超出锁定等待超时:
DELETE n1
FROM tableA n1, tableA n2
WHERE n1.id > n2.id
AND n1.mytext = n2.mytext
我在亚马逊RDS上
+---+-----+-----+------+-------+
|id |fname|lname|mytext|morevar|
|---|-----|-----|------|-------|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
+------------------------------+
CREATE TABLE `tableB` (
`id` int(11) NOT NULL,
`fname` varchar(45) DEFAULT NULL,
`lname` varchar(45) DEFAULT NULL,
`mytext` mediumtext,
`morevar` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
这不起作用,它没有捕获重复项,只是将tableA中的所有值复制到tableB
INSERT INTO tableB (`id`,`fname`,`lname`,`mytext`,`morevar`)
SELECT DISTINCT tableA.id,tableA.fname,tableA.lname,tableA.mytext,tableA.morevar
FROM tableA
解决方法:
试试这个
INSERT INTO tableB (`id`,`fname`,`lname`,`mytext`,`morevar`)
SELECT id, fname, lname, mytext, morevar
FROM tableA a
WHERE id = (Select Min(id) FROM tableA
WHERE myText = a.mytext)
如果您需要批量执行此操作…(编辑myText条件以控制批次)
INSERT INTO tableB (`id`,`fname`,`lname`,`mytext`,`morevar`)
SELECT id, fname, lname, mytext, morevar
FROM tableA a
WHERE mytext < 'j'
And id = (Select Min(id) FROM tableA
WHERE myText = a.mytext)
INSERT INTO tableB (`id`,`fname`,`lname`,`mytext`,`morevar`)
SELECT id, fname, lname, mytext, morevar
FROM tableA a
WHERE mytext >= 'j'
And mytext < 'r'
And id = (Select Min(id) FROM tableA
WHERE myText = a.mytext)
INSERT INTO tableB (`id`,`fname`,`lname`,`mytext`,`morevar`)
SELECT id, fname, lname, mytext, morevar
FROM tableA a
WHERE mytext >= 'r'
And id = (Select Min(id) FROM tableA
WHERE myText = a.mytext)
内容总结
以上是互联网集市为您收集整理的php – 如果A中的列不重复,则将tableA复制到tableB全部内容,希望文章能够帮你解决php – 如果A中的列不重复,则将tableA复制到tableB所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。