Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

57 Stron V   1 2 3 > » 

mmmmmmm
Napisane: 6.07.2020, 08:03:40





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Ze średnikami działa w kreatorze (widoku projektu kwerendy), z przecinkami w SQL.
  Forum: Access · Podgląd postu: #1251963 · Odpowiedzi: 5 · Wyświetleń: 5 970

mmmmmmm
Napisane: 2.07.2020, 08:51:20





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

  1. $q3 = "SELECT COUNT(*) AS wynik FROM metryczka WHERE wyksztalcenie = 'Podstawowe'";
  Forum: Przedszkole · Podgląd postu: #1251907 · Odpowiedzi: 2 · Wyświetleń: 290

mmmmmmm
Napisane: 17.06.2020, 11:21:25





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

  1. SELECT t.id_towar, t.nazwa, f.data_zak
  2. FROM towar t
  3. LEFT JOIN (faktura f, faktura_has_towar thf) /* nie wiem WTF ale tak zostawię */
  4. ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura )
  5.  
  6. WHERE
  7. t.nazwa LIKE '%jakaś niepełna nazwa towaru%'
  8. AND (t.id_towar,f.data_zak) IN (SELECT t.id_towar, MAX(f.data_zak) FROM towar t JOIN (faktura f, faktura_has_towar thf) ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura ) GROUP BY 1)
  9. ORDER BY t.nazwa, f.data_zak ASC
  Forum: MySQL · Podgląd postu: #1251721 · Odpowiedzi: 2 · Wyświetleń: 2 150

mmmmmmm
Napisane: 4.05.2020, 08:20:41





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Co do Warningów, to powinieneś używać mysqli_query, tyak jak masz w baza_portal_artyk.php w np. linii 20:
  1. $wynik= mysqli_query($polaczenie, "SELECT * FROM 'artykuly'");

Czyli jako pierwszy parametr dajesz połączenie do bazy. Inaczej domyślnie PHP weźmie ostatnio utworzone.

Co do błędu w linii 125, to wydaje mi się, że powinno być:
  1. $artykuly=mysqli_fetch_assoc($wynik1);
  Forum: Przedszkole · Podgląd postu: #1250976 · Odpowiedzi: 2 · Wyświetleń: 242

mmmmmmm
Napisane: 2.04.2020, 08:33:03





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Tak samo jakbyś dodał TAG. Rozwiązań mnóstwo w necie.
  Forum: Bazy danych · Podgląd postu: #1250520 · Odpowiedzi: 4 · Wyświetleń: 4 361

mmmmmmm
Napisane: 18.03.2020, 14:37:43





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Stawiam na jakąś nietypową kontrolkę ActiveX, której nie ma na komputerze docelowym. Sprawdż w referencjach, gdzie masz "missing"
  Forum: Access · Podgląd postu: #1250219 · Odpowiedzi: 6 · Wyświetleń: 7 420

mmmmmmm
Napisane: 17.01.2020, 09:00:22





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Jeśli założysz indeks, to dodawanie kolejnych nowych rekordów (a także UPDATE kolumn z indeksów) będzie trwało dłużej. Związane jest to z tym, że za każdym razem "odbudowywany" jest indeks.
Indeks przyspiesza odczyt danych, ale zwalnia ich zapis.
  Forum: Bazy danych · Podgląd postu: #1248977 · Odpowiedzi: 21 · Wyświetleń: 8 072

mmmmmmm
Napisane: 5.12.2019, 15:26:46





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Pokazałem Ci, że da się zrobić tabelę z PK z dwóch pól, z których jedno jest autoincrement. I na dodatek Engine InnoDB.
  Forum: MySQL · Podgląd postu: #1248162 · Odpowiedzi: 5 · Wyświetleń: 1 773

mmmmmmm
Napisane: 5.12.2019, 13:59:46





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Czary: http://sqlfiddle.com/#!9/f82f1f/2
  Forum: MySQL · Podgląd postu: #1248160 · Odpowiedzi: 5 · Wyświetleń: 1 773

mmmmmmm
Napisane: 18.11.2019, 14:38:36





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Nie będzie lekko. Jeśli masz zrobiony BACKUP z MS SQL Server. to musisz zainstalować sobie SQL Server i odtworzyć backup żeby się do tych danych dostać. A i to czasme się nie udaje... Jeśli np. nie będziesz miał odpowiednich użytkowników, to się nie dostaniesz smile.gif
  Forum: Bazy danych · Podgląd postu: #1247663 · Odpowiedzi: 1 · Wyświetleń: 3 919

mmmmmmm
Napisane: 28.06.2019, 07:26:41





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

1 INSERT a potem 5 UPDATE
  Forum: MySQL · Podgląd postu: #1243073 · Odpowiedzi: 8 · Wyświetleń: 1 510

mmmmmmm
Napisane: 14.06.2019, 13:18:06





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

ORDER BY CASE WHEN status='ODŁOŻONE' THEN 1 ELSE 0 END
  Forum: Bazy danych · Podgląd postu: #1242676 · Odpowiedzi: 1 · Wyświetleń: 2 670

mmmmmmm
Napisane: 6.05.2019, 15:26:00





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

A nie powinno być tak:?
Kod
    [data] => Array
        (
            [':name'] => tester
            [':password'] => 72a3dcef165d9122a45decf13ae20631
            [':email'] => test@test.pl
        )
  Forum: PHP · Podgląd postu: #1240562 · Odpowiedzi: 6 · Wyświetleń: 457

mmmmmmm
Napisane: 1.04.2019, 09:32:12





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

  1. SELECT (SELECT count(s) FROM RequestEvent re WHERE re.server = s) + (SELECT count(se) FROM SqlEvent se WHERE se.server = s)
  Forum: Przedszkole · Podgląd postu: #1239841 · Odpowiedzi: 2 · Wyświetleń: 392

mmmmmmm
Napisane: 18.03.2019, 12:06:12





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

http://sqlfiddle.com/#!9/079e99/2
?
  Forum: MySQL · Podgląd postu: #1239383 · Odpowiedzi: 5 · Wyświetleń: 2 259

mmmmmmm
Napisane: 18.03.2019, 12:00:35





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

  1. SELECT z.id_zamowienia FROM zamowienia z JOIN statusy_historia s ON s.id_zamowienia=z.id_zamowienia AND s.nazwa IN ('AAA', 'BBB', 'XXX')
  2. GROUP BY 1
  3. HAVING count(DISTINCT s.nazwa)>Count(DISTINCT CASE WHEN s.nazwa='xxx' THEN s.nazwa END)
  Forum: Bazy danych · Podgląd postu: #1239382 · Odpowiedzi: 1 · Wyświetleń: 2 576

mmmmmmm
Napisane: 6.03.2019, 16:57:13





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Count(status) policzy rekordy z nieNULLową kolumną status. Count(*)-Count(status) policzy rekordy z NULLową kolumną status
  Forum: Przedszkole · Podgląd postu: #1239214 · Odpowiedzi: 2 · Wyświetleń: 278

mmmmmmm
Napisane: 25.02.2019, 10:01:11





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Nie masz grupować po kraju.
  1. SELECT year(data_ur) AS rokUrodzenia, quarter(data_ur) AS kwartal, count(*) FROM zawodnicy GROUP BY 1,2
  Forum: MySQL · Podgląd postu: #1239020 · Odpowiedzi: 2 · Wyświetleń: 1 287

mmmmmmm
Napisane: 15.02.2019, 12:43:59





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

  1. WHERE airports_list.id IS NULL
  Forum: Przedszkole · Podgląd postu: #1238920 · Odpowiedzi: 9 · Wyświetleń: 583

mmmmmmm
Napisane: 9.01.2019, 21:11:12





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

http://sqlfiddle.com/#!9/f9357f/6
  Forum: MySQL · Podgląd postu: #1238455 · Odpowiedzi: 5 · Wyświetleń: 1 700

mmmmmmm
Napisane: 5.11.2018, 08:45:00





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Wytłumaczę ci najprościej jak się da. Baza danych porównuje zbiory. Zbiór twoich danych wejściowych (daną wejściową jest rekord) ze zbiorem danych z tabeli.
Utwórz sobie taki zbiór i go go porównaj z tabelą. Jesli go nie znajdzie, to wtedy dodaj.
Czyli po kolei
Utworzenie zbioru jednoelementowego:
  1. SELECT :login AS login, :mail AS mail, :password AS pass, :ip AS ip, :DATA AS date

Teraz sprawdzasz, czy danych zbiór istnieje. Warunkiem istnienia jest klucz, czyli w tym przypadku login. Jak najłatwiej sprawdzić? Połączyć lewostronnie po kluczu i sprawdzić, czy w drugiej tabeli znalazł dany rekord.
  1. SELECT * FROM
  2. (SELECT :login AS login, :mail AS mail, :password AS pass, :ip AS ip, :DATA AS date) AS sub
  3. LEFT JOIN
  4. users AS u
  5. ON u.login=sub.login
  6. WHERE
  7. u.login IS NULL

Jeśli zapytanie zwróci ci jakikolwiek rekord (a może zwrócić tylko jeden), to wtedy dodajesz go do `users`. Zapytanie jest o tyle bezpieczne, że możesz je wykonywać ile razy chcesz - rekord doda się tylko raz (bo za każdą następną próbą już będzie)
  1. INSERT INTO users(login, mail, pass, ip, date)
  2. SELECT sub.* FROM
  3. (SELECT :login AS login, :mail AS mail, :password AS pass, :ip AS ip, :DATA AS date) AS sub
  4. LEFT JOIN
  5. users AS u
  6. ON u.login=sub.login
  7. WHERE
  8. u.login IS NULL
  Forum: Przedszkole · Podgląd postu: #1237516 · Odpowiedzi: 9 · Wyświetleń: 722

mmmmmmm
Napisane: 2.11.2018, 08:27:47





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Źle rozumiesz. Jeśli jest typ kolumny NUMBER, to ani w OLD, anie w NEW nie ma prawa znaleźć się 'a'.
  Forum: Oracle · Podgląd postu: #1237460 · Odpowiedzi: 3 · Wyświetleń: 13 497

mmmmmmm
Napisane: 31.10.2018, 09:26:28





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Kolumna TYP_WEZLA oczywiście może być NUMBER, ale musiałbyś zmienić wprowadzanie danych.
  1. IF :NEW.TYP_WEZLA LIKE 'a' THEN :NEW.TYP_WEZLA := 1; END IF;

Jak widać, wprowadzasz do rekrodu (przed zapisem) dane typu 'a', 'b'..., a baza działa tak, że najpierw jest tworzony obiekt "old" i "new" takiego samego typu jak trrekored danej tabeli. Do "old" pobierane są wartości aktualne, a do "new", te które chcesz wpisać. I właśnie do "new" do pola NUMBER nie możesz wpisać 'a'. To nie jest błąd triggera, bo to się dzieje zanim jeszcze trigger zacznie działać...
  Forum: Oracle · Podgląd postu: #1237433 · Odpowiedzi: 3 · Wyświetleń: 13 497

mmmmmmm
Napisane: 29.10.2018, 08:27:58





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Bo się nie da...
Albo unikalne maile, albo unikalne pary (mail, id).
Możesz zrobić pobieranie ostatniego/pierwszego z danym mail.
Przy założeniu, że id jest unikalne i rosnące, to
  1. SELECT mail, min(id) min_id, max(id) max_id FROM post GROUP BY mail
  Forum: Przedszkole · Podgląd postu: #1237412 · Odpowiedzi: 1 · Wyświetleń: 540

mmmmmmm
Napisane: 7.09.2018, 07:35:41





Grupa: Zarejestrowani
Postów: 1 421
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----

Cytat(eerie @ 7.09.2018, 07:23:52 ) *
I tak "int(11)" czy "int(10) unsigned" to integer i zajmuje [chyba] tyle samo pamięci z minusem czy bez.

Liczby przy INT mają sens tylko w przypadku użycia ZEROFILL.
INT signed i unsigned zajmują tyle samo miejsca w pamięci, ale mają różny zakres wartości. Cytując dokumentację;
INT[(M)] [UNSIGNED] [ZEROFILL]

A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.

Cytat(eerie @ 7.09.2018, 07:23:52 ) *
Ustalanie wartości default'owych też nie ma sensu, bo i tak na dzień dobry mamy w obiektach wartości NULL, które trzeba zmienić przed zapisem do bazy. Inaczej wywali błąd.

Ma sens. Jeśli na 99% rekordów jakieś pole ma wartość 0, to po prostu nie ustawiasz tej wartości przy zapisie. DLa tego 1% zmieniasz (przed lub po zapisie) na inną wartoiść

Cytat(eerie @ 7.09.2018, 07:23:52 ) *
Jak natomiast jest z kluczami? Klucze PRIMARY KEY, FOREIGN KEY i UNIQUE KEY są stosowane. Co ze zwykłymi kluczami KEY?

Jakie "zwykłe klucze KEY"? Chodzi ci o indeksy?

Cytat(eerie @ 7.09.2018, 07:23:52 ) *
Czy login i hasło nie powinny mieć zadeklarowanych kluczy KEY?

Nie. Bo wtedy dopuszczałbyś sytuację z dwoma takimi samymi loginami, ale różnymi hasłami.

Cytat(eerie @ 7.09.2018, 07:23:52 ) *
Zapytania logowania bez KEY'a nie wykonuję się wolniej? Jak to jest?

Zależy od wielu czynników. Generalnie SELECT odbywa się szybciej. INSERT i UPDATE jest wolniejszy, bo wymaga przebudowania indeksów.
  Forum: Bazy danych · Podgląd postu: #1236560 · Odpowiedzi: 10 · Wyświetleń: 3 706

57 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 18:18