Wyciąguję peną ilość danych z bazy danych. Robię JOIN, GROUP BY, LIMIT itd. Jest mi to potrzebne do paginacji. Zamiast pobierać wszystkie dane i później wyświetlać pewną ich ilość, pobieram tylko tyle ile mi trzeba. Aby paginacja działała poprawnie muszę mieć ilość rekordów, która odpowia warunkom. Niestety jeżeli daję LIMIT, to zwraca mi tylko zadaną ilość rekordów (np. 20), więc jeżeli użyję funkcji count() w PHP, to zawsze otrzymam wynik 20.
Jeżeli w
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mariecziek: Musisz robić dwa zapytania, jedno z LIMIT do wyświetlania, drugie z count() bez LIMIT żeby pobrać liczbę rekordów. W postgresie można to osiągnąć jednym zapytaniem z wykorzystaniem window functions.
  • Odpowiedz
@SiarkoWodor: A jeśli uczeń nie zdał? A poza tym podstawowym problemem z automatyczną inkrementacją jest to że nigdy nie masz pewności czy nie pójdzie dwa razy. Zamiast inkrementować ustawiaj.
  • Odpowiedz
Mam pytanie z MySQL.
Mam 3 tabelki. Napisałem wyzwalacz, który podczas update tabelki1 loguje, że zostały zrobione zmiany i zapisuje to w tabelka2. Do tabelka3 muszę zalogować zmiany z tabelka1 (wpisać tam starą i nową wartość) i wpisać idzmian z tabelka2. W jaki sposób to rozwiązać?
W PHP korzystając z PDO można uzyskać id rekordu, do którego zostały wpisane dane, ale jak to rozwiązać w bazie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mariecziek:

https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

Within the trigger body, the OLD and NEW keywords enable you to access columns in the rows affected by a trigger. OLD and NEW are MySQL extensions to triggers; they are not case sensitive.


In an INSERT trigger, only NEW.colname can be used; there is no old row. In a DELETE trigger, only OLD.colname can be used; there is no new row. In an UPDATE trigger,
  • Odpowiedz
Taki problem: muszę sprawdzić, czy pewne ID znajduje się na liście TOP 100. Lista TOP 100 to 100 wierszy z listy wszystkich ID uporządkowanych wg uzyskanych dochodów. Niestety, lista top 100 jest skorelowana z ID (bo zależy od zakresu dat, różnego dla każdego ID).

Chciałem to zrobić za pomocą takiego zapytania:

SELECT id, IF(id IN (SELECT id FROM zlaczenie_okreslajace_dochod ORDER BY SUM(dochod) LIMIT 100), 'jest na top100', 'poza top100') AS statusTop100 FROM lista_id
Niestety, Error
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@singollo:
Krok 1. Odinstalować MySQL.
Krok 2. Zainstalować bazę danych.
@singollo: Spróbuj tak:

SELECT 5, B.* FROM (SELECT NULL as Q) as A LEFT JOIN (SELECT id FROM zlaczenie_okreslajace_dochod ORDER BY SUM(dochod) LIMIT 100) as B WHERE B.id = 5
  • Odpowiedz
Zmodyfikowany przykład z manuala php

if ($result = $mysqli->query("INSERT INTO test VALUES (1)")) {

$result->close();
}
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@makumbanoob: Returns FALSE on failure. For successfulSELECT, SHOW, DESCRIBE or EXPLAINqueries mysqliquery() will return amysqliresult object. For other successful queries mysqli_query() will return TRUE.
  • Odpowiedz
Czy jest ktoś z was #januszeinformatyki kto używa w #php #mysql #elasticsearch i może mi wytłumaczyć jak usunąć stare rekordy z bazy elastica? Kiedy usunę coś z MySQL, to Elastic nieuaktualnia sobie tego :( Więc usunąłem wszystkie indexy z river włącznie i stworzyłem je na nowo. Niestety dalej mam te stare rekordy których już nie ma w bazie.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@komplik: Są metody delete. Chcę dowiedzieć się czy jest "automatyczne" uaktualnianie rekordów. Jeśli usunę z bazy #mysql to czy jest jakaś komenda/metoda do automatycznego uaktualnienia #elasticsearch? Jeśli nie ma to znaczy, że muszę przy każdym zdarzeniu (update, insert, delete) w bazie MySQL uaktualnić indexy #elastic ?
  • Odpowiedz
Mirki przerobiłem php w codeacademy, ale jak na początek to trochę za mało wiedzy przyswoiłem. Znacie może jakieś dobre kursy/strony do nauki PHP i MySQL? (Darmowe). Będę wdzięczny za pomoc :)

#php
#mysql
#webdev
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam kolejne oferty z #praca dla wykopowych programistów w #poznan ( ͡° ͜ʖ ͡°).
1. Senior ASP.NET MVC Developer - umowa o pracę lub kontrakt, na kontrakcie do 12k na rękę.
2. Starszy Programisty JAVA JEE - j/w, widełki 10-12k na rękę przy kontrakcie.

Oba stanowiska min. 3 lata doświadczenia, więcej szczegółów i kontakt na priv (dzisiaj mogę trochę późno odpisywać, bo dupsko z
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #mysql #php
Cześć wykopowi programiści! Mam taką bazę danych
id | nazwa | kolor | ilosc
i chciałbym wybrać 2 rzeczy koloru czerwonego, 2 niebieskiego, 1 zółte i później jeszcze losowo jedno z nich gdzie ilość > 0.
Dotychczas robiłem to w taki sposób, że każdy kolor pobierałem osobnym zapytaniem a później w PHP łączyłem tablice, ale wiem że to beznadziejne rozwiązanie. Proszę o jakieś
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

nsfw
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #mysql #bazydanych

Jak przy tworzeniu tabeli zrobić ogranicznie zakresu w kolumnie typu FLOAT?
W google coś pisze o partycjonowaniu ale po co mi całe partycjnowanie jeśli chce np. mieć w tym polu wartości od 4.0 do 10.0?
Przydałoby mi się coś takiego jak BETWEEN AND ale to działa tylko przy SELECT a ja chce przy CREATE.
Pewnie to proste pytanie tylko kurde ja nie bawiłem
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #sql #mysql
Znacie coś takiego jak "try ruby" tylko żeby wpisywało się komendy sql? W PHPmyadmin można wpisywać takie komendy ale tylko wpisywać. A mi chodzi o to by był przykłady jak używać różnych funkcji, operatorów. Może być po angielsku.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam tabelę, w której są kolumny techniczne validfrom oraz validto, obie typu timestamp.
Jak zrobić w MySQL tak, żeby wstawić kilka nowych rekordów, wszystkie z tym samym validfrom?
A jak wstawić nową wersję rekordu, tak żeby ustawiony valid
to starego rekordu i valid_from nowego rekordu były obok siebie, żeby nie było dziury w tabeli w żadnym momencie?

#mysql #sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Golob: zapisujesz do zmiennej lokalnej wartość, która ma trafić do VALIDFROM, np. sysdate/systimestamp i później tę zmienną wrzucasz do inserta - załatwia to oba Twoje problemy ;)

Tylko lepiej, żeby VALIDTO i VALIDFROM poprzedniego rekordu były identyczne, a wykluczasz tylko na warunkach przez np.:
VALIDTO > sysdate AND VALIDFROM <= sysdate
chodzi o te znaki równości, żeby to one wykluczały 2 rekordy
  • Odpowiedz
Mirtzy, co się będziemy oszukiwać: n00b here. Mam do Was pytanie o udostępnienie komuś bazy MySQL do zdalnego użytku. Czy wg was w hostingu jaki mam w Zenboxie można takie cuda wykonać?

Problem wynika z tego, że nigdy bezpośrednio nie pracowałem z bazami MySQL. Widzę, że w Zenboxie jest możliwość wydzielenia komuś konta FTP, podobnie z bazami MySQL - mogę taką stworzyć (pic related) ale pytanie jak udostępnić?

#webdev |
Saeglopur - Mirtzy, co się będziemy oszukiwać: n00b here. Mam do Was pytanie o udostę...

źródło: comment_Mhfb43gAj2JYuLkBehzqRQWgykJfTVwt.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wiem że nocna ale może ktoś coś?
UPDATE platnosci SET czyzaplacone = '1' WHERE idrezerwacji = 136;

No database selected

dlaczego? :( tabela platnosci jest w bazie.. polaczenie do bazy tez dobre :/

#mysql #php #webdev
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

INSERT INTO rezerwacje (id_rezerwacji, od, do) VALUES (NULL, '$od 14:00:00', '$do 11:00:00', )";

Następnie mam:

INSERT INTO 'platnosci' ('idplatnosci', 'idrezerwacji', 'kwota') VALUES (NULL, TUTAJ CHCE ODWOŁAĆ SIĘ DO
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach