Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: [BASH] MySQL problem (skrypt)  (Przeczytany 2134 razy)

kapio

  • Gość
[BASH] MySQL problem (skrypt)
« dnia: 2014-01-09, 16:58:29 »
Mam sobie skrypt, który w pętli while wyciąga dane z bazy mysql (rekordy) i ok wszystko działa, ale chce aby po wyświetleniu rekordu został on usunięty z bazy danych.
Kod wygląda tak:
#!/bin/bash
mysql -u root --password=password -h localhost test --skip-column-names -e 'select commain from test limit 1;' | while read -r data
do
echo `$data`
mysql -u root --password=password -h localhost test --skip-column-names -e 'DELETE FROM test WHERE commain'
done
i teraz nie wiem jak poprawnie napisać usuwanie rekordu. Próbowałem coś takiego:
mysql -u root --password=password -h localhost test --skip-column-names -e 'DELETE FROM test WHERE commain = $data'
ale cały czas error:
ERROR 1054 (42S22) at line 1: Unknown column 'ls' in 'where clause'
Nawet jak dam
ls
zamiast
$data
jakaś podpowiedź?

Edit:
Udało mi się:
"DELETE FROM test WHERE commain='$data'"