Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Bestimmte Zeilen Nummer in mySQL Datenbank löschen

Frage Entwicklung PHP

Mitglied: samsx87

samsx87 (Level 1) - Jetzt verbinden

11.12.2007, aktualisiert 22:18 Uhr, 8945 Aufrufe, 10 Kommentare

Hallo Zusammen

Situation:
Ich habe eine mySQL Datenbank. In dieser möchte ich nun die 34 Zeile löschen - aber wie?

Kann mir jemand helfen? Mit "DELETE * FROM $tablename WHERE ID = 34" funktioniert es irgendwie nicht. Mach ich was falsch?

mfG

samsx
Mitglied: tikayevent
11.12.2007 um 16:44 Uhr
Ich glaube, dass geht mit LIMIT. Ich nutz es momentan relativ selten, aber lass mal die WHERE-Klausel weg und pack stattdessen ein LIMIT 33,34 dahin.

Bitte nicht an einem Produktivsystem testen, ich bin mir nämlich gerade nicht sicher.
Bitte warten ..
Mitglied: Dani
11.12.2007 um 17:06 Uhr
Hallo samsx87,
du hast doch sicher als Datenbanksystem eine MySQL am laufen. Somit hast die Möglichkeit "phpmyadmin" anzuwenden. Ist ein kl. Tool das auf PHP basiert. Damit ist es möglich, die Datenbanken, Tabellen, User, etc.. .zuverwalten.

Einfach dort das Statement absetzen. Dann siehts du gleich ob es geht. Falls nicht, erscheint eine Fehlermeldung. An dieser kannst du dann erkennen, wo dein Fehler ist!

Ich würde das Statement mal so probieren:
01.
<? 
02.
$sql="DELETE * FROM $tablename WHERE id='34';"
03.
mysql_query($sql); 
04.
?>
Natürlich sollte der Datensatz mit der ID 34 auch noch in der Tabelle existieren.


Grüße
Dani
Bitte warten ..
Mitglied: EvilMoe
11.12.2007 um 18:34 Uhr
01.
> <? 
02.
> $sql="DELETE * FROM $tablename WHERE 
03.
> id='34';"; 
04.
> mysql_query($sql); 
05.
> ?> 
06.
> 

Heisst es nicht nur "DELETE FROM" ? Der "*" kommt doch nur bei einer SELECT abfrage vor oder irre ich mich?
Bitte warten ..
Mitglied: samsx87
11.12.2007 um 19:03 Uhr
Hallo Zusammen

Vielen Dank für eure Antworten.

SELECT * FROM $tabellenname LIMIT 33,34 liefert mir alle Einträge bis und mit dem Eintrag 34

SELECT * FROM $tabellenname WHERE id='34' liefert mir "#1054 - Unknown column 'id' in 'where clause' "

Hat jemand noch eine andere Idee?
Bitte warten ..
Mitglied: EvilMoe
11.12.2007 um 19:05 Uhr
Dann heißt das Feld bei dir nicht "id"! Du musst schon den richtigen Feldnamen benutzen!
Bitte warten ..
Mitglied: Dani
11.12.2007 um 19:08 Uhr
Hi EvilMoe,
du hast Recht. Das Sternchen gehört da nicht hin. C&P halt.....


Grüße
Dani
Bitte warten ..
Mitglied: samsx87
11.12.2007 um 19:36 Uhr
Ich habe aber kein ID-Feld (oder was ähnliches) ich möchte doch nur die Zeile 34 Auslesen ohne extra noch ein zusätzliches Feld mit einer Nummerierung zu verwenden Das muss doch irgendwie gehe :/
Bitte warten ..
Mitglied: EvilMoe
11.12.2007 um 19:40 Uhr
WIe lautet denn der "Primary Key". Es wird doch eine eindeutige aufzählung vorhanden sein oder nicht?
Bitte warten ..
Mitglied: Biber
11.12.2007 um 21:43 Uhr
Moin samsx87,

Situation:
Ich habe eine mySQL Datenbank.

Ich frage mal: wozu?

In dieser möchte ich nun die 34 Zeile löschen
Das, was Du beschreibst, ist ein zeilen-orientieres Arbeiten.
Abhängig von einem vorherigen prüfenden Blick von jemand, der das sieht, welche Zeile da nicht hingehört (so genannter bio-optical scan).
Etwas für Tesxtdateien oder Zeilen einer Excel-Tabelle.

Die meisten Datenbanken arbeiten etwas anders - da gibt es einen eindeutigen Schlüsselbegriff je Datensatz. Wie Artikelnummer, Kundennummer oder meintwegen eine künstliche ID, die beim Neuanlegen (als Wert in einem eigenen Feld) vergeben wird.
Nur dann nämlich ist diese Zeilennummer unabhängig von den Suchkriterien oder der festgelegten ORDER/Reihenfolge.

Wenn Du ein "Select * from whatever" machst, ist der Reihenfolge der Sätze zufällig.
Und in einer Tabelle mit 2 Mio Datensätzen würde ich nicht den Satz #1289842 löschen, weil der das letzte Mal diese "Zeilennummer" hatte.
Eigentlich auch nicht den Satz #34.

Einige Datenbanken bieten eine Funktion RowId() an, z.B. Oracle oder eine Funktion/einen Feldtyp ROWID, z.B. DB2, aber erstens zu anderen Zwecken und mit anderen Fussangeln.

mySQL hat so etwas nicht.

Und das ist nur begrenzt schade.

Grüße
Biber
Bitte warten ..
Mitglied: samsx87
11.12.2007 um 22:18 Uhr
Na toll Jetzt muss ich also eine Umweg über eine extra Spalte (z.B. "ID" wie es EvilMoe vorgeschlagen hat) machen... grml
Naja trotzdem vielen Dank für eure Hilfe!

Gruss samsx
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Datenbanken
Tool oder Dienst für E-Mail (POP3) zu MySQL Datenbank (3)

Frage von bounee zum Thema Datenbanken ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...