![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Dzisiaj mam problem ze zmianą wartości kolumny liczbowej jeśli wartość innej kolumny tekstowej ma zadaną wartość.
Użyta składnia: Kod UPDATE phpbb_posts SET poster_id=1453 where post_username=lipidor Wynik: #1054 - Unknown column 'lipidor' in 'where clause' Kiedy w składni chodziło o tą samą kolumnę: Kod UPDATE phpbb_posts SET poster_id=115 where poster_id=24 nie było problemu ze zmianą wartości. Gdzie robię błąd i jak ten problem rozwiązać? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
lipidor jak widzisz to nie nazwa kolumny tylko tring zatem jako string ma być traktowany.
http://dev.mysql.com/doc/refman/5.7/en/string-literals.html -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Viking, ze stringiem działa
![]() Mam kolejny problem, który wymaga określenia warunku z innej tabeli ale chyba mieści się w tym temacie, więc nie zakładam nowego. Tabela phpbb_posts zawiera między innymi: numer postu post_id, nr topicu w którym znajduje się post topic_id oraz id autora poster_id Tabela phpbb_topics zawiera między innymi: nr topicu topic_id, autora topicu topic_poster oraz pierwszy post w topicu topic_first_post_id I teraz chodzi o taką zmianę hurtową kolumny topic_poster w tabeli phpbb_topics by jeśli jest aktualnie równa -1 przyjęła wartość poster_id z tabeli phpbb_posts jeśli kolumna post_id w tabeli phpbb_posts jest taka sama jak kolumna topic_first_post_id w tabeli phpbb_topics Jak się odwołać do wartości z innej tabeli? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Czy taka składnia byłaby prawidłowa ? Dobrym torem idę?
Kod UPDATE phpbb_topics SET phpbb_topics.topic_poster='phpbb_posts.poster_id' WHERE phpbb_topics.topic_poster='-1' AND phpbb_topics.topic_first_post_id='phpbb_posts.post_id' bo co prawda błędów nie wypluwa, ale: Zmodyfikowanych rekordów: 0. ( Wykonanie zapytania trwało 0.0004 sekund(y) ) A wiem, że są zależności i powinny być rekordy zmienione. Gdzie popełniam błąd? Panowie (i panie jeśli takowe są), czy ktoś może mi przeanalizować tą składnię i pomóc? Gdzie popełniam błąd? Ten post edytował tombog 21.01.2017, 12:52:45 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
'phpbb_posts.post_id' traktowane jest jako string a nie wartość z kolumny.
Weź się za podstawy Mysql bo nic z tego nie będzie. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie się biorę ale idzie mi jak krew z nosa. Jeśli daję phpbb_posts.post_id to mi pluje błedem, że to nie jest kolumna. Jeśli daję jak string wtedy nie wywala błędu ale też nie trafia do celu jak sądzę i dlatego nie znajdując zależności nic nie zmienia. No więc nie wiem już jak to zastosować.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
http://dev.mysql.com/doc/refman/5.7/en/update.html
Na samym dole masz składnię polecenia robiącego update z 2 tabelami. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.05.2025 - 02:42 |