Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wypełnianie jednej kolumny danymi z drugiej kolumny tej samej tabeli
Forum PHP.pl > Forum > Przedszkole
michau85
Witajcie.
Mam tabelę newsy o następującej strukturze: id_newsy | tresc | skrot
Chciałbym aby w kolumnie 'skrót' znalazł się (na stałe) ciąg testowy o długości 30 znaków będący skrótem ciągu z kolumny 'tresc'. Robię więc coś takiego:

  1. UPDATE newsy SET skrot = (SELECT SUBSTR( tresc, 1, 29 ) FROM newsy )

W zamian otrzymuję błąd '#1093 - You can't specify target table 'newsy' for update in FROM clause'

Dla pojedynczego wiersza moje zapytanie wygląda tak:
  1. UPDATE newsy SET newsy.skrot = (SELECT SUBSTR(newsy.tresc,1,29) FROM newsy WHERE newsy.id_newsy =1) WHERE `newsy`.`id_newsy` =1

Otrzymuję ten sam błąd

Proszę o jakąś podpowiedź. Wiem, że mogę ten problem rozwiązać z wykorzystaniem PHP ale chciałbym to zrobić bezpośrednio w SQL. Z góry dziękuję za pomoc
nospor
1) A po grzyba ty tam select dajesz? PRzecież on tam jest totalnie zbędny....
  1. UPDATE newsy SET skrot = SUBSTR( tresc, 1, 29)

2) Po co w ogóle dodajesz tę kolumnę skrót, która jest malym wycinkiem z TRESC?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.