最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL刪除數(shù)據(jù)1093錯誤

 更新時間:2024年02月04日 11:32:52   作者:早起的年輕人  
在進行更新和刪除操作的時候,條件語句里面有子查詢語句,此時會報1093錯誤,本文就來介紹一下1093錯誤的解決,感興趣的可以了解一下

現(xiàn)象:在進行更新和刪除操作的時候,條件語句里面有子查詢語句,此時會報1093錯誤!
錯誤日志:1093 - You can’t specify target table ‘t_suer_study_video’ for update in FROM clause

首先根據(jù)條件來查詢

SELECT * FROM t_suer_study_video WHERE video_course_id =207;

如下圖所求,其中有一個用戶有兩條數(shù)據(jù),train_id 為 null 的那一條數(shù)據(jù)為重復(fù)數(shù)據(jù),我需要刪除的。

在這里插入圖片描述

線上環(huán)境中,像上頁面這樣的數(shù)據(jù),不小心產(chǎn)生了幾千條,是寫的程序的一個bug導(dǎo)致的問題,所以我需要批量刪除,先按用戶ID分組查詢一下:

SELECT user_id, COUNT(*) FROM t_suer_study_video WHERE video_course_id =207 GROUP BY user_id;  

如下圖,數(shù)量為2的用戶的數(shù)據(jù)就是需要處理的

在這里插入圖片描述

然后篩選分組的用戶數(shù)據(jù)

SELECT
	user_id,
	COUNT(*) 
FROM
	t_suer_study_video 
WHERE
	video_course_id = 207 
GROUP BY
	user_id 
HAVING
	COUNT(*) > 1;

我這測試數(shù)據(jù),只有一個用戶的是重復(fù)的,實際中是有多個用戶的

在這里插入圖片描述

然后刪除重復(fù)的,就是將上述分組查詢出來的重復(fù)用戶的ID作為條件來刪除

DELETE 
FROM
	t_suer_study_video 
WHERE
	video_course_id = 207 
	AND train_id IS NULL 
	AND user_id IN (
					SELECT
						user_id 
					FROM
						t_suer_study_video 
					WHERE
						video_course_id = 207 
					GROUP BY
						user_id 
					HAVING
					COUNT(*) > 1 
	);

出現(xiàn)錯誤 1093 - You can’t specify target table ‘t_suer_study_video’ for update in FROM clause

在這里插入圖片描述

原因:在進行更新和刪除操作的時候,條件語句里面有子查詢語句,此時會報1093錯誤!,MySQL在進行讀取數(shù)據(jù)的時候 會加讀鎖(共享鎖),其他請求可以再次加上讀鎖,但是不能加寫鎖,(如果在讀的過程中,又有其他線程進行了更新操作,就會導(dǎo)致當(dāng)前線程讀取到的數(shù)據(jù)不是最新的數(shù)據(jù),這就是不可重復(fù)讀現(xiàn)象)。因此不支持對數(shù)據(jù)更新的同時進行查詢操作,加了讀鎖 就不允許加寫鎖。

解決辦法:外面多嵌套一層查詢,原先的查詢作為子查詢。

DELETE 
FROM
	t_suer_study_video 
WHERE
	video_course_id = 207 
	AND train_id IS NULL 
	AND user_id IN (
				SELECT
					a.user_id 
				FROM
					(
							SELECT
								user_id 
							FROM
								t_suer_study_video 
							WHERE
								video_course_id = 207 
							GROUP BY
								user_id 
							HAVING
								COUNT(*) > 1 
					) a 
	);

刪除成功

在這里插入圖片描述

 到此這篇關(guān)于MySQL刪除數(shù)據(jù)1093錯誤的文章就介紹到這了,更多相關(guān)MySQL 1093錯誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql查詢獲得兩個時間的時間差方式

    mysql查詢獲得兩個時間的時間差方式

    這篇文章主要介紹了mysql查詢獲得兩個時間的時間差方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Mysql DNS反向解析導(dǎo)致連接超時過程分析(skip-name-resolve)

    Mysql DNS反向解析導(dǎo)致連接超時過程分析(skip-name-resolve)

    從其它地方連接MySQL數(shù)據(jù)庫的時候,有時候很慢。慢的原因有可能是MySQL進行反向DNS解析造成的,這里簡單介紹下原理,需要的朋友可以參考下
    2013-03-03
  • MYSQL 隨機 抽取實現(xiàn)方法及效率分析

    MYSQL 隨機 抽取實現(xiàn)方法及效率分析

    MYSQL的隨機抽取實現(xiàn)方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。
    2009-05-05
  • 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題

    淺析一個MYSQL語法(在查詢中使用count)的兼容性問題

    本篇文章是對MYSQL語法(在查詢中使用count)的兼容性問題進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • mysql去重的兩種方法詳解及實例代碼

    mysql去重的兩種方法詳解及實例代碼

    這篇文章主要介紹了mysql去重的兩種方法詳解及實例代碼的相關(guān)資料,這里對去重的兩種方法進行了一一實例詳解,需要的朋友可以參考下
    2017-01-01
  • MySQL慢查詢之開啟慢查詢

    MySQL慢查詢之開啟慢查詢

    開啟慢查詢?nèi)罩?,可以讓MySQL記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫系統(tǒng)的性能。下面這篇文章主要介紹了關(guān)于MySQL開啟慢查詢的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • MySQL常用的日期時間函數(shù)匯總(附實例)

    MySQL常用的日期時間函數(shù)匯總(附實例)

    日期時間處理對大家來說應(yīng)該都不陌生了,下面這篇文章主要給大家介紹了關(guān)于MySQL常用的日期時間函數(shù),文中通過圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-03-03
  • MySQL Group Replication(MGR)集群部署實現(xiàn)自動故障切換問題記錄

    MySQL Group Replication(MGR)集群部署實現(xiàn)自動故障切換問題記錄

    文章詳細介紹了MGR的配置步驟、環(huán)境規(guī)劃、自動故障切換驗證以及生產(chǎn)環(huán)境優(yōu)化和常見問題解決,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • 詳解mysql中的字符集和校驗規(guī)則

    詳解mysql中的字符集和校驗規(guī)則

    這篇文章主要介紹了mysql中的字符集和校驗規(guī)則的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-12-12
  • ARM64架構(gòu)下安裝mysql5.7.22的全過程

    ARM64架構(gòu)下安裝mysql5.7.22的全過程

    這篇文章主要介紹了ARM64架構(gòu)下安裝mysql5.7.22的全過程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07

最新評論

东阳市| 白银市| 潜江市| 云霄县| 乳山市| 刚察县| 闸北区| 东乌| 玛纳斯县| 左权县| 广平县| 霍山县| 麻栗坡县| 天镇县| 陵水| 新乡市| 永新县| 长宁区| 奉贤区| 慈利县| 临颍县| 望城县| 密山市| 横峰县| 深水埗区| 临江市| 额济纳旗| 大同县| 金昌市| 刚察县| 彩票| 鹤山市| 海宁市| 曲阳县| 墨玉县| 固原市| 始兴县| 赣榆县| 新蔡县| 鲁甸县| 曲麻莱县|