Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MYSQL Update über 2 Tabellen

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

05.10.2011 um 11:01 Uhr, 11762 Aufrufe, 9 Kommentare

Hey,

ich habe zwei Tabellen, welche ich gleichzeitig Updaten möchte, falls möglich.

Tabelle1:
01.
SELECT `s_articles`.active  FROM `s_articles` WHERE changetime < '2011-10-05 10:32:58' 
02.
order by changetime DESC
Tabelle2:
01.
SELECT `s_articles_details`.instock  FROM `s_articles_details` 
02.
INNER JOIN `s_articles` ON `s_articles_details`.articleID=`s_articles`.id 
03.
WHERE `s_articles`.changetime <'2011-10-05 10:32:58' 
04.
order by `s_articles`.changetime DESC
Beziehung: `s_articles_details`.articleID=`s_articles`.id

Nun möchte das Feld `s_articles_details`.instock und `s_articles`.active auf 0 setzen, wenn das Datum von `s_articles`.changetime < '2011-10-05 10:32:58' ist.

Mein Versuch:
01.
UPDATE `s_articles`, `s_articles_details`  
02.
SET `s_articles`.active = 0,  
03.
`s_articles_details`.instock = 0 
04.
WHERE `s_articles_details`.articleID=`s_articles`.id 
05.
AND `s_articles`.changetime <'2011-10-05 10:32:58'
Bei dieser WHERE Klausel werden aber keine Datensätze selektiert.

Geht das überhaupt in einem Wisch?

Danke
Mitglied: thaenhusen
05.10.2011 um 11:08 Uhr
Moin.

01.
UPDATE FROM `s_articles` inner join  `s_articles_details`  
02.
ON `s_articles_details`.articleID = `s_articles`.id  
03.
SET `s_articles`.active = 0,  `s_articles_details`.instock = 0 
04.
where  `s_articles`.changetime <'2011-10-05 10:32:58'
HTH
MK
Bitte warten ..
Mitglied: ottscho
05.10.2011 um 11:15 Uhr
Danke dir.

Wenn ich das FROM entferne geht die Syntax.
Aber das Ergebnis ist das Gleiche:

Null betroffene Datensätze.

Aber es gib in der DB `s_articles` tausende, welche in changetime < '2011-10-05 10:32:58' sind.
Bitte warten ..
Mitglied: thaenhusen
05.10.2011 um 11:41 Uhr
Moin.

01.
UPDATE `s_articles` inner join  `s_articles_details`   
02.
ON `s_articles_details`.articleID = `s_articles`.id   
03.
where  `s_articles`.changetime <'2011-10-05 10:32:58' 
04.
SET `s_articles`.active = 0,  `s_articles_details`.instock = 0 
Sorry. Versuchs mal so.

PS.: Sonst schick mal einen kurzen Dump der Tabellen...

HTH
MK
Bitte warten ..
Mitglied: ottscho
05.10.2011 um 11:53 Uhr
mhhh, hier habe ich bei deinem Statement nun einen Fehler:
Fehler
SQL-Befehl:
UPDATE `s_articles` INNER JOIN `s_articles_details` ON `s_articles_details`.articleID = `s_articles`.id WHERE `s_articles`.changetime < '2011-10-05 10:32:58' SET `s_articles`.active =0,
`s_articles_details`.instock =0

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where `s_articles`.changetime &lt;'2011-10-05 10:32:58'
SET `s_articles`.active =' at line 3

Das habe ich noch versucht:
01.
update  `s_articles_details` 
02.
set `s_articles_details`.instock = 0 
03.
where `s_articles_details`.articleID in 
04.
(select `s_articles`.id  from `s_articles` where`s_articles`.changetime <'2011-10-05 10:32:58')
Aber gleiches Ergebnis. Statement läuft, aber 0 betroffene Datensätze.

SQL Dump so direkt kann ich dir leider nicht schicken. Kundendaten.
Aber ich kann dir einen Export von beiden Tabellen, jeweils die ersten 2-3 Zeilen zukommen lassen.
Bitte warten ..
Mitglied: ottscho
05.10.2011 um 13:04 Uhr
Hab dir ne PN geschickt ;)

Neuster Versuch:
01.
UPDATE  `s_articles_details`  
02.
SET `s_articles_details`.instock = 0 
03.
WHERE  `s_articles_details`.articleID in 
04.
(select id from `s_articles` where changetime < '2011-10-05 10:32:58' )
Gleiches Ergebnis. 0 Datensätze betroffen.
Mache ich nur die Unterabfrage
select id from `s_articles` where changetime < '2011-10-05 10:32:58'
oder
select count(*) from `s_articles` where changetime < '2011-10-05 10:32:58'
erhalte ich aber 44264 Datensätze.


Ich blicks echt nicht!

Mache ich:
01.
SELECT instock 
02.
FROM `s_articles_details` 
03.
WHERE articleID =4
erhalte ich einen Datensatz zurück,

mache ich aber:
01.
UPDATE  `s_articles_details`  
02.
SET instock = 0 
03.
WHERE  articleID = 4
bekomme ich wieder 0 Datensätze zurück
Bitte warten ..
Mitglied: thaenhusen
05.10.2011 um 13:28 Uhr
Moin.

01.
UPDATE `s_articles`, `s_articles_details`   
02.
SET `s_articles`.active = 0,  `s_articles_details`.instock = 0 
03.
WHERE `s_articles_details`.articleID = `s_articles`.id  and  
04.
`s_articles`.changetime <'2011-10-05 10:32:58'
Das funktioniert jetzt. ID 1 und 4 in den Testdaten werden damit geupdated.

Meine Syntax kam von einem anderen SQL System. Sorry.

HTH
MK
Bitte warten ..
Mitglied: ottscho
05.10.2011 um 13:37 Uhr
ich muss idich enttäusche, Geht nicht.
Aber ich habe eine Ahnung, woran es liegt. Es muss am WHERE liegen im Bezug auf die Formatierung des Datum/Uhrzeit.

Ich habe das Ganze mal auf eine Tabelle beschränkt.
Select geht aber Update nicht!

01.
SELECT active 
02.
FROM `s_articles` 
03.
WHERE changetime <'2011-10-05 10:32:58'
Das ergibt wieder tausende Treffer.

Das Update allerdings ergibt wieder NULL:
01.
UPDATE `s_articles` 
02.
SET active = 0 
03.
WHERE changetime < '2011-10-05 10:32:58' 
04.
 
05.
ODER  
06.
 
07.
UPDATE `s_articles` 
08.
SET active = 0 
09.
WHERE changetime < CAST('2011-10-05 10:32:58' AS DATETIME)
Bitte warten ..
Mitglied: thaenhusen
05.10.2011 um 14:46 Uhr
Moin.

Also bei mir mit Deinem Dump funktioniert das.
Dann hast Du irgendwas mit dem Datetime auf Deinem Server verfrimelt.

Ich habe Deine Dumps in einer Tmp-DB importiert und dann funktioniert das...

Ich nutze MySQL 5.0.51a.

HTH
MK
Bitte warten ..
Mitglied: ottscho
05.10.2011 um 15:07 Uhr
Hey, danke dir für die tritte
Es geht. War mein fehler. Ich sitze einfach schon zu lange vor der Kiste.

Wenn ein Spalte schon den UPDATE Wert beinhaltet, wird diese nicht mehr upgedatet. Da alle meine Datensätze schon die gewünschten Werte hatten, wurde nichts durchgeführt

Das war schon alles...
Bitte warten ..
Ähnliche Inhalte
Debian
Mysql Tabellen updaten von 2 Server
Frage von chatgodDebian1 Kommentar

Hallo liebe Kollegen, ich hab ein Problem und finde derzeit keine Lösung dafür, und ich hoffe das mir jemand ...

PHP
MYSQL Abfrage von 2 identischen Tabellen
gelöst Frage von datadexxPHP5 Kommentare

Hi an alle MYSQL Profis, ich hätte folgende Frage. Ich habe 2 Tabellen (kstamm, ustamm), diese sind vom Aufbau ...

PHP

PhP-Funktion zum Abrufen von Daten aus 2 Mysql-Tabellen

gelöst Frage von TheAlexPHP6 Kommentare

Halli Hallo Hallöle, Ich habe 2 MySQL-Tabellen, eine in der die user abgelegt sind. Aus dieser möchte ich lediglich ...

Datenbanken

Inkonsistente MySQL Tabellen wiederherstellen

Frage von AndroxinDatenbanken1 Kommentar

Moin, aus "Gründen" musste ich diverse MySQL Datenbanken von einer formatierten Festplatte wiederherstellen. In der Regel waren auch noch ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 12 StundenDatenschutz

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 1 TagVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 3 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
Datenschutz
Gilt ein Ransomware-Befall als Datenpanne nach DSGVO?
Frage von MOS6581Datenschutz22 Kommentare

Moin Kollegen, wenn sich jemand Ransomware einfängt und dadurch bspw. Kundendaten verschlüsselt werden; gilt dies dann als meldepflichtige Datenpanne ...

Hardware
Sophos SG135 - Routing
gelöst Frage von Xaero1982Hardware22 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail18 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke15 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...