GRY-Online.pl --> Archiwum Forum

Problem z bazą danych SQL

30.12.2008
11:57
smile
[1]

Extwiz [ Pretorianin ]

Problem z bazą danych SQL

Słuchajcie mam pewien problem z bazą danych a mianowicie jak dodać do każdej wartości jakiś przedrostek. Mam np. gra.swf a potrzebuje dodać do każdego rekordu np adres strony aby wyglądało to tak gra.swf ?? Korzystam phpMyAdmin

30.12.2008
12:00
[2]

Regis [ ]

A po co chcesz dodac taki przedrostek w bazie? To malo elastyczne rozwiazanie. Juz lepiej by bylo dodac osobna kolumne z tym przedrostkiem, a adres ktory chcesz otrzymac, uzyskiwac jako 'sklejenie' starej i nowej kolumny.

Ale jesli koniecznie chcesz ten przedrostek - w czym problem? Tzn. nie ma zadnej magicznej sztuczki, ktora Ci to ulatwi - robisz zapytanie UPDATE i jedziesz... No chyba, ze przedrostek ma byc wszedzie taki sam (ale wtedy - po co on w ogole?), wtedy robisz:

UPDATE xxx SET kolumna = CONCAT( 'adres', kolumna )

Glowy nie dam z tym CONCAT, bo nie uzywam na codzien MySQL, ale tak mi cos swita... Moze nawet wystarczy zwykly '+', albo '||'. W razie czego szukaj w google: mysql concatenation

30.12.2008
12:19
[3]

Extwiz [ Pretorianin ]

A jak chcę dodać tą wartość w każdym rekordzie ??

30.12.2008
12:21
[4]

yasiu [ Legend ]

jesli nie dodasz warunku WHERE, update traktuje kazdy rekord tak samo

jesli concat nie dziala, napisz sobie skrypt w php ktory ci to zrobi

30.12.2008
12:23
[5]

Extwiz [ Pretorianin ]

Dałem zapytanie UPDATE 'ava_games' SET 'catergory_id' = CONCAT( ' 'catergory_id' ) i wychodzi błąd

30.12.2008
12:25
[6]

Regis [ ]

Sorry, moja krysztalowa kula jest w warsztacie, wiec musisz napisac JAKI blad, jesli ma Ci ktos pomoc...

Poza tym mam dziwne wrazenie, ze kolumna 'category_id' oczekuje wartosci liczbowej...

30.12.2008
12:27
[7]

Extwiz [ Pretorianin ]

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ava_games' SET 'catergory_id' = CONCAT( ' 'caterg' at line 1

30.12.2008
12:29
[8]

Regis [ ]

Sprobuj podmienic (zgubiles przecinek i nie zamknales pierwszego cudzyslowu, a do tego zrobiles literowke w slowie "catergory":

CONCAT( ' catergory_id )

Ew. zamien funkcje CONCAT na zwykly operator + albo ||

30.12.2008
12:34
[9]

Extwiz [ Pretorianin ]

jak podmieniam na to co napisałeś to pisze że nie zamknięty cudzysłów

30.12.2008
12:35
[10]

Regis [ ]

Bo napisalem Ci, ze nie zamknales cudzyslowu za adresem strony, ale sam juz zapomnialem tego poprawic w cytowanym fragmencie ;P Troche kreatywnosci ;)

30.12.2008
12:35
[11]

Extwiz [ Pretorianin ]

nie zrobiłem literówki bo kolumnia ma nazwe właśnie catergory_id

30.12.2008
12:37
[12]

Extwiz [ Pretorianin ]

Napisz mi 'prosze' jak powinno to:
UPDATE 'ava_games' SET 'catergory_id' = CONCAT( ' 'catergory_id' )
prawidłowo wygladać. Nie znam się zbytnio na MySQL

30.12.2008
12:39
[13]

Regis [ ]

Ze slowem 'prosze' Twoja prosba wygladalaby znacznie lepiej...

UPDATE ava_games SET catergory_id = CONCAT( ' catergory_id )

Ale nie gwarantuje, ze to zadziala - sam na codzien uzywam PostgreSQL'a i Oracle'a, a z MySQL'em mialem kontakt ostatni raz ponad rok temu.


EDIT: K***a, to GOL ucina drugi apostrof... Tam pomiedzy "gry/" a przecinkiem ma byc jeszcze jeden '

30.12.2008
12:45
[14]

Extwiz [ Pretorianin ]

No chyba jestem Ci winien duże piwo :P Wyszło. DZIĘKUJE BARDZO

30.12.2008
12:46
smile
[15]

Regis [ ]

Prosze bardzo ;)

Edit: Tak. Varchar(10) ogranicza Cie do 10 znakow. Maksymalny rozmiar varchara, to chyba 255.

30.12.2008
12:47
[16]

Extwiz [ Pretorianin ]

Jeszcze jedno małe pytanko:
Aby upchnąć tam więcej tekstu varchar(10) powinienem zwiększyć nie ??

30.12.2008
12:49
smile
[17]

Extwiz [ Pretorianin ]

DZIĘKI WIELKIE ZA POMOC

30.12.2008
13:10
[18]

Extwiz [ Pretorianin ]

No i dalej mamy problem

30.12.2008
13:12
[19]

Extwiz [ Pretorianin ]

Zawartość wszystkich tabel za tabelą catergory_id [rzesuneła mi sie o jedną pozycję :(

© 2000-2024 GRY-OnLine S.A.