Forum Doku Wiki Blog

Forumsarchiv 2011, März
phpmyadmin | affected_rows

archivierte Beiträge lesen

  1. (DATENBANK) phpmyadmin | affected_rows von heinetz, 11. 03. 2011, 13:50

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 11. 03. 2011, 13:50 Uhr von heinetz veröffentlicht.

Hallo Forum,

wenn ich unter phpmyadmin das folgende SQL-Statement absetze, melded PMA mir 'Betroffene Datensätze:  2', obwohl ich nur einen erwartet hätte:

REPLACE INTO content_online ()
SELECT * FROM content_offline WHERE site_id=3037


'site_id' ist primary_key in beiden Tabellen und es geschieht, was ich erwarte: Der Datensatz mit der 'site_id' 3037 wird in der Tabelle 'content_online' mit den Werten aus 'content_offline' überschrieben.

Alles gut? Nein, solange ich nicht verstehe, warum bzw welche Datensätze hier betroffen sein sollen.

Lässt sich das irgendwie herausfinden?

danke für Tipps und

beste gruesse,
heinetz

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 11. 03. 2011, 13:55 Uhr von MudGuard veröffentlicht.

Hi,

> wenn ich unter phpmyadmin das folgende SQL-Statement absetze, melded PMA mir 'Betroffene Datensätze:  2', obwohl ich nur einen erwartet hätte:
>
> REPLACE INTO content_online ()
> SELECT * FROM content_offline WHERE site_id=3037


Vielleicht wird das ja so gerechnet:
der SELECT betrifft eine Zeile, der Replace eine andere (ist zwar inhaltlich gleich, aber in anderer Tabelle). Macht 2 betroffene Zeilen.
(aber das ist eine reine Vermutung)

cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...

Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 11. 03. 2011, 14:10 Uhr von dedlfix veröffentlicht.

Hi!

> der SELECT betrifft eine Zeile, der Replace eine andere (ist zwar inhaltlich gleich, aber in anderer Tabelle). Macht 2 betroffene Zeilen.

Datensätze sind immer nur dann "betroffen" (affected), wenn sie geändert werden. Das trifft bei SELECT nicht zu.


Lo!

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 11. 03. 2011, 14:29 Uhr von MudGuard veröffentlicht.

Hi,

> > der SELECT betrifft eine Zeile, der Replace eine andere (ist zwar inhaltlich gleich, aber in anderer Tabelle). Macht 2 betroffene Zeilen.
>
> Datensätze sind immer nur dann "betroffen" (affected), wenn sie geändert werden. Das trifft bei SELECT nicht zu.

Danke für die Korrektur.

cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...

Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 11. 03. 2011, 14:08 Uhr von dedlfix veröffentlicht.

Hi!

> REPLACE INTO content_online ()
> SELECT * FROM content_offline WHERE site_id=3037

> [...] es geschieht, was ich erwarte: Der Datensatz mit der 'site_id' 3037 wird in der Tabelle 'content_online' mit den Werten aus 'content_offline' überschrieben.

Nein, wird er nicht. Er wird gelöscht und ein neuer angelegt => zwei betroffene Datensätze.

> Lässt sich das irgendwie herausfinden?

MySQL-Handbuch - Arbeitsweise von REPLACE.


Lo!

phpmyadmin | affected_rows

Der folgende Beitrag wurde am 12. 03. 2011, 01:08 Uhr von heinetz veröffentlicht.

hi,

> Nein, wird er nicht. Er wird gelöscht und ein neuer angelegt => zwei betroffene Datensätze.

Gute Erklärung,
Danke,

heinetz

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4