Jak wykasować cały wiersz w tabeli?

Jak wykasować cały wiersz w tabeli?

Wątek przeniesiony 2023-06-23 22:43 z Webmastering przez Ktos.

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Jak wykasować cały wiersz w tabeli sql ? Jaką frazą ? Cały wiersz, ale nie całą tabelę. Dziękuję za pomoc.

S4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1268
2

Delete from table where i tu warunek

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

warunek, a jak tutaj chodzi zawsze o pierwszy wiersz w tabeli, nie wiem jakie o będzie ID. ?

Ktos
  • Rejestracja: dni
  • Ostatnio: dni
4

Musisz zdefiniować co to jest "pierwszy" wiersz tabeli, bo przecież jak zrobisz różne ORDER BY to różny będzie pierwszy.

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Dlaczego to nie działa ?

Kopiuj
$zapytanie =  "DELETE product_id, product_name, ilosc, cena FROM `zapytanie` select top 1 order by product_id " ;

Ma się kasować wiersz pierwszy uporządkowany przy pomocy identyfikatora product_id ?

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
2
telepatia napisał(a):

Dlaczego to nie działa ?

Kopiuj
$zapytanie =  "DELETE product_id, product_name, ilosc, cena FROM `zapytanie` select top 1 order by product_id " ;

Ma się kasować wiersz pierwszy uporządkowany przy pomocy identyfikatora product_id ?

Może najprostszy kurs, ksiazkę, zamiast tłuc łbem w ścianę ?

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Tam tego nie ma.

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Co tutaj nie gra ?

Kopiuj


              
$zapytanie =  "DELETE ( product_id, product_name, ilosc, cena ) FROM `zapytanie` where select top 1 order by product_id " ;

mysqli_query($mysqli, $zapytanie);

Ktos
  • Rejestracja: dni
  • Ostatnio: dni
3

Nie gra to, że to nie ma sensu.

DELETE potrzebuje tylko FROM, nie mówi mu się kolumn (bo po co kolumny, usuwa przecież cały wiersz)

Po drugie, WHERE potrzebuje powiedzieć co ma być jakie, a u ciebie jest WHERE SELECT, a raczej musi byc WHERE product_id = (SELECT...)

Coś takiego prawdopodobnie:

Kopiuj
DELETE FROM twoja_tabela WHERE product_id = (SELECT product_id FROM twoja_tabela ORDER BY product_id ASC LIMIT 1);

PS, twoja tabela nazywa się "zapytanie"?

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
3
Ktos napisał(a):

PS, twoja tabela nazywa się "zapytanie"?

Kolega tyko uprawia programowanie stochastyczne

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
1

Aaaa, kolega uważany za reinkarnację usera @adamon
To wszystko wyjaśnia. Dla mnie ktoś nie tak głupi jakiego udaje, kogo bawi przepalania naszej energii , troll

TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Ta strona nie działaSerwer serwer2232156.home.pl nie może teraz obsłużyć tego żądania.
HTTP ERROR 500

Podałem mu takie zapytanie i wystąpił powyższy błąd. :

Kopiuj
$zapytanie = DELETE * FROM `zapytanie` WHERE product_id = (SELECT product_id FROM `zapytanie` ORDER BY product_id ASC LIMIT 1);
mysqli_query($mysqli, $zapytanie);
TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0
Kopiuj
Tu się nic nie wyświetla na ekranie. Rozbiłem polecenie na dwa. Pytanie co jest sknocone ? 

<?php

$wynik = mysqli_query($mysqli,"SELECT * FROM zapytanie ORDER BY product_id ASC LIMIT 1 ;
" );

mysqli_query($mysqli, $wynik);




$zapytanie = mysqli_query($mysqli, "DELETE * FROM zapytanie WHERE product_id = $wynik; " );

mysqli_query($mysqli, $zapytanie);






  
?>


KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5555
1
telepatia napisał(a):

$zapytanie = mysqli_query($mysqli, "DELETE * FROM zapytanie WHERE product_id = $wynik; " );

Po DELETE nie pisze się ani listy kolumn, ani gwiazdki. Jest od razu FROM
https://www.w3schools.com/sql/sql_delete.asp
https://www.postgresql.org/docs/current/sql-delete.html

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.