Czemu MySQL jest popularny, z dedykacją dla @drag_op, @zdalny
#sql #programowanie #webdev #mysql #postgersql

@drag_op: To jest dość skomplikowane. PostgreSQL jest projektem który jest stary, PostgreSQL wywodzi się z projektu Postgres a ten z Ingres, Ingres został zapoczątkowany w 1973 roku gdy jeszcze nikomu się o webdevie nie śniło. W czasach gdy sieć startowała to Postgres był już zaawansowaną
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@drag_op: Chodzi o zapytanie SELECT COUNT(*) FROM tbl. Silnik MyISAM dla MySQL nie wspierał transakcji i zapisywał liczbę wierszy dla każdej tabeli dlatego zwracał błyskawicznie wynik, PostgreSQL sprawdzał widoczność każdego wiersza dla aktualnej transakcji przez odwiedzenie krotki na dysku co było bardzo wolne, od 2012 pg wspiera index-only-scan i potrafi zwrócić wynik po przeanalizowaniu indeksu, natomiast MySQL obecnie wspiera transakcje w domyślnym silniku innodb i już tak błyskawiczny nie
  • Odpowiedz
@Zdalny: Nie, bo w MySQL są te same problemy z tym że tam zwykłą odpowiedzią jest "Będzie pan zadowolony". PostgreSQL jest nastawiony na niezwodność i dokładność dlatego trudne problemy typu replikacja master-master są opisywane jako trudne. MySQL jest robiony w myśl zasady "My ze szwagrem po pijaku nie takie rzeczy robili" dlatego trudne problemy są opisywane jako "No przecież jakoś działa".
  • Odpowiedz
W mssql-server ładnie można dodać odbc, podlinkować serwer i wyciągać zapytania z mysql'a. Da się odwrotnie?
Tj. z poziomu mysqla wyciągać selecty bezpośrednio z bazy mssqlowej?

#windowsserver
#linux
#sysadmin
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@drag_op: Bo MySQL nadaje się tylko do prostych aplikacji: nie obsługuje zaawansowanych zapytań, explainy nic absolutnie nie mówią o tym co się dzieje, ma historię masę dziwacznych rozwiązań i potrafi zwracać błędne wyniki w myśl zasady "lepiej zwrócić cokolwiek". Sporo problemów z MySQL jest w deseń "Jak zrobić w MySQL coś co działa na wszystkich innych bazach z sqlite włącznie". Zastawia pułapki na użytkownika, do wersji 5.7 nie obsługiwało poprawnie
  • Odpowiedz
6) Pracownik #microsoft.u, podczas prezentacji jednego z produktów w EDGE, wkurzył się i zainstalował Chrome


@imlmpe: dziś be, plusa, bo to informacja nieprawdziwa. Nie wkurzył się, a akcję uzasadniał ( it's a feature, not a bug) tym, że Edge ma u niego poblokowane jakieś rzeczy.
  • Odpowiedz
Kurde mirki potrzebuję przełożyć następujące zapytanie sql na query buildera w symfony(doctrine 2), za bardzo w tym nie siedzę, ale akurat trafiło się, że coś takiego potrzebuję.

SELECT * FROM
(
SELECT * FROM message m
GROUP BY m.sent_at, m.conversation_id
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

tak jak @zakopiak napisał, grupuj po wszystkich kolumnach które selectujesz, bo w innym przypadku kolumny nieujęte w group by zwrócą Ci losowe wartości


@bziuuumor: Nie do końca. Musi być spełnione functional dependency czyli należy pogrupować po zestawie kluczy które razem są unikatowe dla całego wiersza. Zakładają że id dla każdej tabel to pk następujące są poprawne:

SELECT
  • Odpowiedz
Cześć Mirki. Potrzebuję pomocy, pomysłu, nakierowania. Realizuję pewien projekcik, żeby łatwiej mi się pracowało. Generalnie sporo pracy z tabelami. Mam tak: tabelę dostawy1 z kolumnami: nazwa;kod;cena;ilosc oraz tabelę dostawy2 z takimi samymi kolumnami. Zadanie polega na tym, że dane z tabeli 2 muszą być zgodne z tabelą 1. Jestem w stanie je wyświetlić gdy tabela 2 jest prosta i wtedy wszystko śmiga. Problem pojawia się, gdy czasem w tabeli 2 pozycje są
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam w bazie danych tabelkę z towarami, zawiera ona sporo kolumn. Chcę zrobić "zmiany", tj. za każdym razem, gdy pojawi się UPDATE w tej tabeli, żeby pojawiała się kopia wersji sprzed update wraz z datą, autorem zmian i odnośnikiem do tego towaru z oryginalnej tabeli.

Jaki sposób na zrobienie tego będzie najlepszy? Póki co zrobiłem wersję najbardziej prymitywną i działa - skopiowałem tabelę z dopiskiem "changes", dodałem kolumny date, userid,
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Radeg90: trigger after/before update - sobie wybierzesz co Ci bardziej pasuje. W kolumnach OLD.kolumna1 masz stare wartości, w NEW.kolumna1 nowe wartości.
  • Odpowiedz
Mam tabelkę z numerem miesiąca:

|------------|------------|
|id |month |
|------------|------------|
|1 |8 |
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z bazą danych w MySQLu. Wywala mi Undefined index on line 45, 47, 48, 49, 50, 51, 52, 53.
$id = $row['id'];
$tresc = $row['tresc'];
$odpa = $row['odpa'];
$odpb = $row['odpb'];
$odpc = $row['odpc'];
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Po natychmiastowym uporaniu się z poprzednim problemem przyszła pora na kolejny.
Dlaczego to dane nie chcą się wysłać do bazy danych?
Jak rozumiem treść błędu, to niby liczba kolumn w bazie nie zgadza się z liczbą wartości w rowie. Tylko jakim cudem 5 nie pasuje do 5?

PASTEBIN

matsd - Po natychmiastowym uporaniu się z poprzednim problemem przyszła pora na kolej...

źródło: comment_mpFBHuLJBaygoZ3vWXoyPqYT0IwviSWu.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@macza:
1. PHPstorm zainstalowany, coś tam już sobie w nim skonfigurowałem, ustawiłem ciemny theme, dalej czytam co tu muszę ustawić żeby mi się dobrze pracowało.
4. Linux ląduje u mnie na dysku po najbliższym formacie.
5. Wiem że Python jest bardziej ogólny, ma więcej zastosowań, pewnie sięgnę gdy poczuję się już pewnie z PHP
6. Nawet nie wiem czym jest ORM, więc na razie chce zrobić coś co będzie dobrze
matsd - @macza: 
1. PHPstorm zainstalowany, coś tam już sobie w nim skonfigurowałem,...

źródło: comment_ODhUPYTKgACFewzbcSS2DYHEvAy5jjY8.jpg

Pobierz
  • Odpowiedz
#sql #mysql
Mam tabelę z kolumną A, B i C.
Kolumny te mogą przyjmować 1 lub 0 (true / false).

Jak wygenerować sumy wszystkich możliwych kombinacji?
chodzi mi o postać (sumy są losowe):
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki klient ma #hosting na https://www.webd.pl i próbuje mu zainstalować #moodle .
Przy instalacji jest problem z kodowaniem jak na screenie. Gdzie to mogę zmienić? W PhpMyAdmin ??

The current setup of MySQL or MariaDB is using 'utf8'. This character set does not support four byte characters which include some emoji. Trying to use these characters will result in an error when updating a record, and any information
tadocrostu - Mirki klient ma #hosting na https://www.webd.pl i próbuje mu zainstalowa...

źródło: comment_m07bhSnxc89NvumVTbrmmy0CKn2CHMRG.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

XAMPP - często zdarza się, że początkujący w #php i #mysql developerzy miewają trudności podczas przenoszenia projektu ze środowiska developerskiego na produkcję. W tym materiale omawiam 4 sytuacje, które mogą zaskoczyć początkujących. Materiał na podstawie dyskusji na FB i zgłoszonych przez społeczność uwag. Zapraszam tych, którym wciąż "coś nie działa" po przesiadki z XAMPP/WAMP na produkcyjny #hosting.
artur-pajkert - XAMPP - często zdarza się, że początkujący w #php i #mysql developerz...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tamtenjanek: Nie memcache i nie redis, to jest jak już generujesz bardzo duży ruch. Zacznij od samego MySQL. Przedewszystkim przeanalizuj zapytania, czy są wydajne. Porób indeksy na odpowiednich kolumnach rzeczy zapytania nie mieliły za długo no i na koniec query cache https://dev.mysql.com/doc/refman/5.7/en/query-cache.html

Searches for a single row in a single-row table are 238% faster with the query cache than without it. This can be regarded as close to the minimum
  • Odpowiedz
Pomoże ktoś z prostym zapytaniem #mysql którego niestety nie znam? #kiciochpyta

Wykombinowałem już takie coś: SELECT * FROM ps_customer WHERE NOT (company <=> NULL); - działa, wyświetla to co chcę. A jak dodać drugi warunek WHERE NOT?

Tak nie działa :< SELECT * FROM ps_customer WHERE NOT (company <=> NULL) and WHERE NOT (company <=> BRAK);
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam formularz składający się z kilku pól input oraz pola select, któe pobiera wartości z bazy danych a następnie zapisuj numer id wybranego pola w bazi danych. Zapis działa poprawnie problem pojawi się w przypadku edycji rekordu pola input wyświetlają się poprawnie natomiast select pokazuje pierwszą wartość niezależnie od wybranej pozycji. Dane z formularza wysyłane są poprzez POST

if($result2 = $mysqli->query("SELECT id,miasto FROM lubelskie by id")){
if($result2->num_rows >0) {
echo "";
while($row
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach