Heim Datenbank MySQL-Tutorial So stellen Sie eine logische Löschung von MySQL wieder her

So stellen Sie eine logische Löschung von MySQL wieder her

May 10, 2019 am 10:58 AM
mysql

In Projekten werden Sie im Allgemeinen auf diese Situation stoßen: Logisches Löschen und mehrere Zuordnungen werden nicht gelöscht

Logisches Löschen (weiches Löschen): Beim logischen Löschen werden normalerweise die zu löschenden Daten mit einer Löschmarkierung versehen Verwenden Sie ein is_deleted-Feld, um anzugeben, ob der Zeilendatensatz gelöscht wurde (oder verwenden Sie ein Statusfeld, um den sogenannten „gelöschten“ Status darzustellen. Logischerweise sind die Daten gelöscht, die Daten selbst sind jedoch noch vorhanden).

Empfohlene Kurse: MySQL-Tutorial

So stellen Sie eine logische Löschung von MySQL wieder her

wurde von der Startseite gelöscht und wird tatsächlich nicht angezeigt nicht aus der Datenbank gelöscht, nur basierend auf der Idee eines Statusfeldes, 0 zum Starten, 1 zum Deaktivieren.

Das logische Löschen besteht also lediglich darin, ein Feld mit dem Namen Status zu ändern, um festzustellen, ob die Front-End-Seite angezeigt wird. Wenn Sie sie wiederherstellen möchten, müssen Sie nur den Status ändern Feld zurück.

Idee:

Wenn Sie Abfrage-SQL in XML schreiben, fügen Sie eine weitere Bedingung hinzu, das Statusfeld in der Bibliothek

1

2

3

4

5

6

SELECT * FROM md_drainage_basin

<where>

  <if test="basinName != null"and  basin_name LIKE concat('%',#{basinName},'%')</if>

  <if test="state != null">AND state = #{state}</if>

</where>

ORDER BY sort_order

Nach dem Login kopieren

Dann, wenn wir die Daten dem Frontend bereitstellen Seite, wir müssen es selbst tun. Führen Sie den Standardvorgang im Java-Code aus, da das Frontend keinen Statuscode in der Abfrage übergibt. Der Hintergrund generiert standardmäßig

1

2

mdDrainageBasin.setState(0);

List<MdDrainageBasin> list = mdDrainageBasinMapper.findByQuery(mdDrainageBasin);

Nach dem Login kopieren

und legt den Status fest 0 an die Entitätsklasse und führt dann die Abfrage durch. Auf diese Weise sieht das Frontend nur Daten mit dem Status 0

Beim logischen Löschen wird der Statuscode auf 1 aktualisiert und update statt delete aufgerufen Unter Berücksichtigung der Multi-Table-Beziehung, z. B. wenn ein Wassereinzugsgebiet logisch gelöscht wird, wird das darunter liegende Wassersystem ebenfalls logisch gelöscht und nicht angezeigt. Zu diesem Zeitpunkt kann beurteilt werden, ob ein entsprechender Wert vorliegt Wassersystem unter dem Wassereinzugsgebiet, es wird nicht gelöscht, andernfalls wird es gelöscht

1

2

3

4

5

6

7

8

9

MdDrainageBasin mdDrainageBasin = mdDrainageBasinService.findById(id);

List<MdWaterSystem> list = mdWaterSystemMapper.findByWater(mdDrainageBasin.getBasinCode());

if (list.size() > 0) {

    return ResponseMsgUtil.failure();

else {

    mdDrainageBasin.setState(1);

    mdDrainageBasinService.update(mdDrainageBasin);

    return ResponseMsgUtil.success(mdDrainageBasin);

}

Nach dem Login kopieren

Fragen Sie anhand der vom Frontend übergebenen ID ab, welches Wassereinzugsgebiet und wie viele Wassersysteme sich unter diesem Wassereinzugsgebiet befinden . Wenn ein Wassersystem vorhanden ist, löschen Sie es nicht. Wenn kein Wassersystem vorhanden ist, löschen Sie es

Das obige ist der detaillierte Inhalt vonSo stellen Sie eine logische Löschung von MySQL wieder her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen May 08, 2024 am 10:24 AM

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen

Wie optimiert man die MySQL-Abfrageleistung in PHP? Wie optimiert man die MySQL-Abfrageleistung in PHP? Jun 03, 2024 pm 08:11 PM

Wie optimiert man die MySQL-Abfrageleistung in PHP?

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Jun 03, 2024 pm 12:19 PM

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP?

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Jun 02, 2024 pm 02:26 PM

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein?

Welche Anwendungsszenarien gibt es für Java-Aufzählungstypen in Datenbanken? Welche Anwendungsszenarien gibt es für Java-Aufzählungstypen in Datenbanken? May 05, 2024 am 09:06 AM

Welche Anwendungsszenarien gibt es für Java-Aufzählungstypen in Datenbanken?

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Jun 02, 2024 pm 02:13 PM

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP?

Wie erstelle ich eine MySQL-Tabelle mit PHP? Wie erstelle ich eine MySQL-Tabelle mit PHP? Jun 04, 2024 pm 01:57 PM

Wie erstelle ich eine MySQL-Tabelle mit PHP?

See all articles