Nowe posty

xx Migracja GRUB2 (0)
Wczoraj o 12:30:46
xx Przydatne Linki (4)
2019-08-23, 14:13:00
xx Awstat (0)
2019-08-22, 14:55:15
xx SMB - Access denied z Windows (9)
2019-08-19, 11:27:24
xx Kali Linux - książka. (0)
2019-08-19, 00:20:25
xx Arch - startx dla uruchomienia GNOME powoduje wyłączenie komputera (6)
2019-08-18, 14:37:04
xx Nie moge urchmomic laptopa - grub rescue. (1)
2019-08-17, 18:24:00
xx Po aktualizacji zniknęły niektóre funkcje (45)
2019-08-14, 06:39:01
xx Operacje na bitach. (4)
2019-08-10, 21:44:36
xx Pblem z montowaniem dysku sieciowego (1)
2019-08-09, 23:36:45

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

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 49
    • Zobacz profil
[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'"