mysql去除重复数据_MySQL
Jun 01, 2016 pm 01:31 PMbitsCN.com
select可以取别名,delete不能。
1.使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。
mysql> DELETE FROM tab1 WHERE col1 = ( SELECT MAX( col1 ) FROM tab1 );
ERROR 1093 (HY000): You can’t specify target table ‘tab1′ for update in FROM clause
针对“同一张表”这个限制,撇开效率不谈,多数情况下都可以通过多加一层select 别名表来变通解决,像这样
DELETE FROM tab1
WHERE col1 = (
SELECT MAX( col1 )
FROM (
SELECT * FROM tab1
) AS t
);
------------------------------------------------------------------------
2. mysql delete from where in 时后面 的查询语句里不能加where条件
Sql代码
delete from `t_goods` where fi_id in (select * from ( select fi_id from `t_goods` where fs_num is null and fs_name is null and fs_type is null andfs_using is null and fs_lifetime is null) b)
Sql代码
delete from `t_goods` where fi_id in (select fi_id from `t_goods` where fs_num is null and fs_name is null and fs_type is null andfs_using is null and fs_lifetime is null)
Sql代码
delete from `t_goods` where fi_id in ( select fi_id from `t_goods` )
上面三种情况,只有中间的不能执行。
综合起来就是mysql delete from where in 时后面 的查询语句里不能加where条件
---------------------------------------------------------------------------
3. delete from table... 这其中table不能使用别名
Sql代码
delete from student a where a.id in (1,2);(执行失败)
select a.* from student a where a.id in (1,2);(执行成功)
DELETE FROM v9_news WHERE title IN (SELECT title FROM (SELECT title FROM v9_news as newsb WHERE FROM_UNIXTIME(newsb.inputtime,'%Y-%m-%d')='2013-06-27' GROUP BY newsb.title HAVING COUNT(*) >1 ) b)
AND id NOT IN (SELECT id FROM (SELECT MIN(id) AS id FROM v9_news WHERE FROM_UNIXTIME(inputtime,'%Y-%m-%d')='2013-06-27' GROUP BY title HAVING COUNT(*)>1) c); TRUE!!
DELETE FROM v9_news AS news
WHERE news.title IN (SELECT title FROM v9_news as newsb WHERE FROM_UNIXTIME(newsb.inputtime,'%Y-%m-%d')='2013-06-27' GROUP BY newsb.title HAVING COUNT(*) >1 )
AND id NOT IN (SELECT MIN(id) FROM v9_news WHERE FROM_UNIXTIME(inputtime,'%Y-%m-%d')='2013-06-27' GROUP BY title HAVING COUNT(*)>1); FALSE!!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kemahiran pemprosesan struktur data besar PHP

Bagaimana untuk mengoptimumkan prestasi pertanyaan MySQL dalam PHP?

Bagaimana untuk menggunakan sandaran dan pemulihan MySQL dalam PHP?

Bagaimana untuk memasukkan data ke dalam jadual MySQL menggunakan PHP?

Apakah senario aplikasi jenis penghitungan Java dalam pangkalan data?

Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4

Bagaimana untuk menggunakan prosedur tersimpan MySQL dalam PHP?

Strategi pengoptimuman prestasi untuk halaman tatasusunan PHP
