欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql如何能有效防止刪庫(kù)跑路

 更新時(shí)間:2021年09月29日 16:36:04   作者:叁滴水  
本文主要介紹了mysql如何能有效防止刪庫(kù)跑路,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

大家肯定聽說過,有些開發(fā)者由于個(gè)人失誤,在delete或者update語句的時(shí)候沒有添加where語句,導(dǎo)致整個(gè)表數(shù)據(jù)錯(cuò)亂。

mysql安全模式:mysql發(fā)現(xiàn)delete、update語句沒有添加where或者limit條件時(shí)會(huì)報(bào)錯(cuò)。整個(gè)sql將無法執(zhí)行,有效防止了誤刪表的情況。

安全模式設(shè)置

在mysql中通過如下命令查看狀態(tài):

 show variables like 'sql_safe_updates';

在這里插入圖片描述

默認(rèn)是OFF狀態(tài),將狀態(tài)設(shè)置為ON即可:

  • set sql_safe_updates=1; //打開
  • set sql_safe_updates=0; //關(guān)閉

設(shè)置為ON之后

  • update語句:where條件中列(column)沒有索引可用且無limit限制時(shí)會(huì)拒絕更新。where條件為常量且無limit限制時(shí)會(huì)拒絕更新。
  • delete語句: ①where條件為常量,②或where條件為空,③或where條件中 列(column)沒有索引可用且無limit限制時(shí)拒絕刪除。

測(cè)試

打開安全模式進(jìn)行測(cè)試

1.無where的update和delete

delete from t_user

delete from t_user
> 1175 - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
> 時(shí)間: 0.001s

update t_user set name='123'

update t_user set name='123'
> 1175 - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
> 時(shí)間: 0.001s

2、非索引鍵的delete

delete from t_user where name='123'

delete from  t_user where name='123'
> 1175 - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
> 時(shí)間: 0.007s

如果delete的where條件不是索引鍵,則必須要添加limit才可以。

delete from t_user where name='123' limit 1

delete from  t_user where name='123' limit 1
> Affected rows: 0
> 時(shí)間: 0.002s

3.索引鍵的delete

delete from t_user where group_id='123'

delete from  t_user where group_id='123'
> Affected rows: 0
> 時(shí)間: 0s

總結(jié)

如果設(shè)置了sql_safe_updates=1,那么update語句必須滿足如下條件之一才能執(zhí)行成功

  • 使用where子句,并且where子句中列必須為prefix索引列
  • 使用limit
  • 同時(shí)使用where子句和limit(此時(shí)where子句中列可以不是索引列)

delete語句必須滿足如下條件之一才能執(zhí)行成功

  • 使用where子句,并且where子句中列必須為prefix索引列
  • 同時(shí)使用where子句和limit(此時(shí)where子句中列可以不是索引列)一才能執(zhí)行成功。

到此這篇關(guān)于mysql如何能有效防止刪庫(kù)跑路的文章就介紹到這了,更多相關(guān)mysql 防止刪庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql出現(xiàn)問題:error?while?loading?shared?libraries:?libaio解決方案

    Mysql出現(xiàn)問題:error?while?loading?shared?libraries:?libaio解

    這篇文章主要介紹了Mysql出現(xiàn)問題:error?while?loading?shared?libraries:?libaio解決方案的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • MySQL調(diào)優(yōu)之索引在什么情況下會(huì)失效詳解

    MySQL調(diào)優(yōu)之索引在什么情況下會(huì)失效詳解

    索引的失效,會(huì)大大降低sql的執(zhí)行效率,日常中又有哪些常見的情況會(huì)導(dǎo)致索引失效?下面這篇文章主要給大家介紹了關(guān)于MySQL調(diào)優(yōu)之索引在什么情況下會(huì)失效的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案

    mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案

    在MySQL中用很多類型的自增ID,每個(gè)自增ID都設(shè)置了初始值,一般情況下初始值都是從0開始,然后按照一定的步長(zhǎng)增加(一般是自增 1),下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案,需要的朋友可以參考下
    2023-04-04
  • Mysql表的操作方法詳細(xì)介紹

    Mysql表的操作方法詳細(xì)介紹

    這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)中表常用的一些操作方法,文中的示例代碼講解詳細(xì), 對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下
    2022-09-09
  • Mysql優(yōu)化策略(推薦)

    Mysql優(yōu)化策略(推薦)

    這篇文章主要介紹了Mysql優(yōu)化策略,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MySQL中隱式轉(zhuǎn)換的踩坑記錄以及解決方法分享

    MySQL中隱式轉(zhuǎn)換的踩坑記錄以及解決方法分享

    這篇文章主要和大家分享一個(gè)MySQL隱式轉(zhuǎn)換時(shí)踩過的坑,差點(diǎn)把服務(wù)器整崩潰了,以及最后的解決辦法。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-11-11
  • MySQL 中定義和使用變量的方法

    MySQL 中定義和使用變量的方法

    MySQL 提供了多種類型的變量,以適應(yīng)不同的應(yīng)用場(chǎng)景,用戶定義的變量適用于簡(jiǎn)單的會(huì)話內(nèi)數(shù)據(jù)傳遞,局部變量適合在復(fù)雜的存儲(chǔ)過程中使用,而會(huì)話變量則用于調(diào)整和優(yōu)化數(shù)據(jù)庫(kù)會(huì)話的行為,這篇文章主要介紹了MySQL 中定義和使用變量,需要的朋友可以參考下
    2024-04-04
  • mysql主從服務(wù)器同步心得體會(huì)

    mysql主從服務(wù)器同步心得體會(huì)

    原來看過MYSQL同步數(shù)據(jù)的實(shí)現(xiàn),可是自己還沒有動(dòng)過手,今天沒什么事就玩一玩,正好在旁邊有另一臺(tái)空電腦,都在同一個(gè)路由器下。哈哈,正好。
    2008-06-06
  • Mysql中常用的幾種join連接方式總結(jié)

    Mysql中常用的幾種join連接方式總結(jié)

    join語句是面試中經(jīng)常會(huì)讓你現(xiàn)場(chǎng)寫出來的語句,下面這篇文章主要給大家介紹了關(guān)于Mysql中常用的幾種join連接方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • mysql修改數(shù)據(jù)庫(kù)默認(rèn)路徑無法啟動(dòng)問題的解決

    mysql修改數(shù)據(jù)庫(kù)默認(rèn)路徑無法啟動(dòng)問題的解決

    這篇文章主要給大家介紹了關(guān)于mysql修改數(shù)據(jù)庫(kù)默認(rèn)路徑無法啟動(dòng)問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11

最新評(píng)論