Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: #1064 - You have an error... Niby ok ale..
Forum PHP.pl > Forum > Bazy danych > MySQL
d4ng
Witajcie mam baze danych o nazwie baza64523622 i sa tam tabele. Do jednej z nich 'order' chciałbym dodać kolumne i nie idzie tego zrobić a chyba wszystko jest ok? :/

  1. ALTER TABLE ORDER ADD easypack24_parcel_id VARCHAR (50) AFTER shipping_code;
Crozin
ORDER jest słowem kluczowym w SQL-u, masz dwie możliwości:
1. Lepszą, tj. zmienić nazwę tabeli. ORDERS była by odpowiedniejszą.
2. Gorszą, tj. zapisać nazwę tabeli pomiędzy "ciapkami": `ORDERS`.
d4ng
z ciapkami weszło tylko nie wiem czy "AFTER shipping_code;" się zrealizowało bo nigdzie tego nie widze... :/
mmmmmmm
Jedną z podstawowych reguł relacyjnych baz danych jest to, że kolejność kolumn w tabeli nie jest istotna. Z tego co mi wiadomo MySQL jest jedyną znanym mi SZBD, która umożliwia wstawianie kolumny w dowolne miejsce w tabeli. Czyżby sami się przyznawali, że nie są relacyjną bazą danych...
Crozin
@d4ng: jeżeli zapytanie wywołało się prawidłowo to kolumna na pewno się pojawiła. Może po prostu narzędzie z którego korzystasz do przeglądania bazy musi sobie odświeżyć jej strukturę? Sprobuj je zrestartować. Ewentualnie wykonaj to samo zapytanie jeszcze raz, tym razem powinno wywalić już błąd

@mmmmmm: do niczego się nie przyznają, ot udostępnili rozszerzenie SQL-a, które pozwala deweloperom zachować porządek przy pracy.
nospor
A czy przypadkiem kiedys nie bylo tak, ze kolumny indeksowane lepiej by byly na poczatku obok siebie? Np. jesli mielismy kolumne date indeksowaną, to lepiej by ona byla prze kolumną TEXT, gdyz lepiej to wplywalo na wydajnosc. Moze teraz to juz poprawili i nie ma kolejnosc zadnego znaczenia?
Crozin
@nospor: http://stackoverflow.com/questions/2111958...ur-mysql-tables czy ogólniej https://www.google.com/search?q=mysql+does+...93&ie=UTF-8 Nawet jeżeli są jakieś zyski w wydajności, będą one raczej pomijalnie małe. I raczej będzie tu chodziło o pierwszeństwo przed kolumnami typu VARCHAR, nie TEXT - te ostatnie mają stały, mały rozmiar w obrębie wiersza (podobnie jak jakiś INTEGER).
vermis
Cytat(mmmmmmm @ 15.11.2013, 08:10:03 ) *
Jedną z podstawowych reguł relacyjnych baz danych jest to, że kolejność kolumn w tabeli nie jest istotna.


Ta zasada jest zastosowana, bo kojeność jest nadal nieistotna. Nie ma wpływu na relacje czy dostęp do danych. Jedynie ułatwia prezentację pozwalając ustawić domyślą kolejność wyświetlania, którą i tak możesz zmienić w zapytaniu.
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-2024 Invision Power Services, Inc.