Új hozzászólás Aktív témák
-
DNReNTi
őstag
válasz kemkriszt98 #2190 üzenetére
TRUNCATE TABLE `táblanév`.
Eldob minden rekordot, és visszaállítja az AI-t is.but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz csabyka666 #2250 üzenetére
A DROP sem működik ha kulcskapcsolatok vannak a táblák között. A FOREIGN_KEY_CHECKS ki (és be) kapcsolása működő módszer, ha favágó ha nem, de én csak teszteléskor használom, pl ha ki kell nullázzak egy adatbázist, vagy csak néhány táblát. Nem véletlen nem működik se a DROP, se a DELETE se a TRUNCATE, így ezt egy éles oldalon felejtsd el. Kulcskapcsolatok okkal vannak egy adatbázisban.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz csabyka666 #2252 üzenetére
Nem is egészen értem pontosan mi is a cél. Jobban mondva a célt értem, csak azt nem miért van rá szükség. Egyébként egy tipp: én minden táblában használok egy "active" nevű mezőt. Ez mindig az utolsó, boolean, default: 1. Minden lekérdezésben szerepel a WHERE active = 1; tehát ha "törölni" akarok egyszerűen csak inaktiválom azt a rekordot, és az "megszűnik" létezni az oldal számára. Lehet csak az én hülyeségem, de szerintem adatbázisból törlést kerülni kell amennyire lehet. Hozzáteszem: éles oldalaknál, amíg tesztelsz és telehányod sallanggal az adatbázist akkor persze érdemes legyalulni. Erre pedig a tökéletes módszer ha exportálod csak a struktúrát, eldobod az összes táblát, majd importálod a struktúrát. Lehet van erre szebb megoldás, ha van, engem is érdekel.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz csabyka666 #2257 üzenetére
azt gondoltam, hogy én állítottam be valamit rosszul
Megint azt tudom írni, attól függ mi a cél. Külső kulcsot akkor használsz amikor egy másik tábla elsődleges kulcsára akarsz mutatni, ez egy szigorú megszorítás, az adatbázis csak meglévő értéket enged ide felvinni. Jó példa mondjuk egy bármilyen (1:1, 1:n, n:m) kapcsolati tábla. A legegyszerűbb példa hogy érthető legyen:
3 táblád van: felhasznalok, hozzaferes_szintek, felhasznalok_hozzaferese.
Itt a kapcsolati tábla a felhasznalok_hozzaferese összesen két mezővel: felhasznalo_id és hozzaferes_szint_id, mindkettő külső kulcs. Ez tipikus, egyszerű esete a külső kulcs használatának, hogy visszatérjek az eredeti gondolathoz, ha ilyesmire használod, akkor jól használod.but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz csabyka666 #2260 üzenetére
Akkor jó hírem van: jól csináltad. Az adatbázis pedig azért nem engedi a már emlegetett parancsokat mert a kulcskapcsolat az üres táblákra is érvényes. Például kitörölnéd a felhasznalok táblát, akkor mit vinnél fel a kapcsolati táblába. Egyébként ebben az egyszerű példában, ha először a kapcsolati táblát törlöd, akkor megszűnnek a kulcskapcsolatok, így törölhető / kiüríthető lesz a többi is.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz Apollo17hu #2527 üzenetére
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz Sk8erPeter #2531 üzenetére
Gondolom arra gondol, hogy akkor már nem a procedurális hanem az oop módon használná a prepared statements-t meg az egész adatbázis kezelést.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz joni1700 #2537 üzenetére
Nem okoskodni akarok és nem is válasz lesz a kérdésre, de én magát a struktúrát átalakítanám egy kicsit általánosabbra később könnyebben bővíthetőre. Először is nem használnék magyar tábla és mező neveket, meg egyáltalán semmit sem magyarul.
pizza tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(32), uq, nn) - a pizza neve
description (varchar(255), nn) - leírás, feltétek
active (bool, nn) - aktív / inaktív e a termék
size tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(32), uq, nn) - méret neve, pl: 28 cm-es ésatöbbi
active (bool, nn) - aktív / inaktív e a méret
restaurant tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(64), uq, nn) - étterem neve
active (bool, nn) - aktív / inaktív e az étterem
size_and_price_nm kapcsolati tábla:
pizza_id (int, pk, nn) - értelemszerű
size_id (int, pk, nn) - értelemszerű
price (smallint, nn) - adott pizza ára adott méretben
discount (bool (vagy smallint ha számszerűen akarod megadni)) - a kedvezmény beállítása
active (bool, nn) - aktív / inaktív e a kapcsolat
restaurant_and_pizza_nm kapcsolati tábla:
pizza_id (int, pk, nn) - értelemszerű
restaurant_id (int, pk, nn) - értelemszerű
active (bool, nn) - aktív / inaktív e a kapcsolatHa jól gondolom ezzel most mindenféle adat és kapcsolat kezelhető lenne amit egy pizzáról tudni kell. Tudni lehet a nevét, a feltéteket, az árát különböző méretekben, az ezekre esetleg alkalmazott akciókat, és azt is melyik pizza melyik étteremben elérhető. Persze ez most fapad, de a végtelenig bővíthető: pl az éttermek címélve kapcsolati adataival, a pizzákat lehetne kategorizálni, ésatöbbi ésatöbbi.
Remélem segítettem, ha nem, akkor meg írtam egy jó kis regényt.but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
-
DNReNTi
őstag
Sziasztok,
Tegnap melóban felmerült egy érdekes kérdés. Jó kis cicaharc lett belőle.
Melyik a jobb megoldás?
1. Az objektum adatait több táblában tárolni.
pl: user, user_meta, user_settings, user_log.
Így jobban megoszlik az adat, olvasmányosabb a struktúra, cserébe sok a JOIN.
2: Az objektum összes adatát egy táblában tárolni.
pl: Minden felhasználóval kapcsolatos adat a user táblában.
Így ömlesztve van az egész, de egy sima SELECT-tel elérhető minden.(Én az 1. pont táborát erősítettem.)
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
1-1 kapcsolat persze. A VIEW jó ötlet, eszembe nem volt. Egyébként rosszul tettem fel az eredeti kérdést. Hatékonyabb e, ha egy táblában van? Mert ha csak felesleges az nem gond.
Szerk:
(#2692) rum-cajsz
PK-n vannak összekapcsolva, és igen, elég nagy mennyiség, jelenleg közel 100k felhasználóról van szó.[ Szerkesztve ]
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz Sk8erPeter #2696 üzenetére
Igen az pont 1:n. Kapkodtam.
Lényeg a lényeg, így összesítve az információkat, nem lesz kevésbé hatékony, ha meg vannak osztva az adatok, így aki ezzel érvel, azt el tudom hajtani.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz Brett001 #2700 üzenetére
Ne használd a lekérdezésben a WHERE-t, hanem engedd rá az egész táblára. Persze ne konstans adattal, hanem az épp aktuális mező tartalmával, valahogy így:
UPDATE table SET datetime = UNIX_TIMESTAMP(datetime);Nem tudom most kipróbálni, de így mennie kéne.
Ha 1175-ös hibát dob, akkor ki kell kapcsolni a safe mode-ot:
SET SQL_SAFE_UPDATES = 0;Azért egy biztonsági mentést csinálj a tábláról.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz #68216320 #2711 üzenetére
Fent van XLS-ben a 2014-es lista. Onnan már csak 1 lépés a csv, és az import adatbázisba. Még nekem is jól jöhet.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz lakisoft #2778 üzenetére
"Tudnátok segíteni a logikai felépítésben?"
Szerintem ehhez nem kell kód. Gondolom inkább arra kíváncsi ki hogyan építené fel a táblákat, kapcsolatokat, hogy az jó legyen.És ha már itt tartunk leírom én is:
Mindenképpen kell felhasználók és alapanyagok tábla ugye. Kell egy étrendek kapcsolattábla, ez fogja tárolni melyik felhasználónak mely étrendjei vannak. Ezt követi az étkezések kapcsolattábla ami azt mondja meg mely étrendek milyen étkezéseket tartalmaznak. Végül jön az alapanyag kapcsolattábla, ami összeköti az alapanyagokat az étrendekkel. Hát így nagyon leegyszerűsítve valahogy így.[ Szerkesztve ]
but without you, my life is incomplete, my days are absolutely gray
-
-
DNReNTi
őstag
Sziasztok,
Paraméterezhető MySQL tárolt függvényben van e lehetőség foglalkozni az SQL injection elleni védelemmel, illetve kell e foglalkozni vele? Próbáltam keresni a témában de csak PHP-related topikokat találtam, konkrétan arra példát, hogy pusztán SQL oldalon, hogy lehet prepared statement-eket használni, olyat nem. Valaki tud egy ilyet linkelni?
Thx.but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz DNReNTi #2893 üzenetére
Na pasztmek.
Jókormán'but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz kezdosql #3254 üzenetére
Gondolom CSV lesz az a CSS.
Egyebkent egy ilyen tok altalonos import rendszert megirni nem egy trivialis feladat. Ilyenkor a legjobb talan az, ha elmondod hogy fog kinezni a bemenet (altalnossagban, tehat: formatum, kotelezo fejlecek, max oszlopszam, stb), es te a vegen mit szeretnel latni. A 60 oszlop egyebkent nem szamit orulten soknak. Sot.
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz kezdosql #3261 üzenetére
Szerintem itt a tobbseg eleg jol tudja mit kellene csinalni egy ilyen feladattal, en inkabb azt erzem, hogy te nem tudod, hogy egyaltalan mit akarsz csinalni / csinaltatni, mi a cel, a specifikacio roppant feluletes, totalis fogalmi zavar van, es a faradtsagot sem veszed arra, hogy rakeress a kulcsszavakra amik itt mar elhangoztak. Nem bantasnak szanom, csak nem ertem ezt az oszto dumat, a fent leirtak es annak figyelembevetelevel, hogy vagy harman probaltak segiteni hasznalhato otletekkel.
[ Szerkesztve ]
but without you, my life is incomplete, my days are absolutely gray
-
DNReNTi
őstag
válasz kezdosql #3270 üzenetére
Komolyan egyre inkabb nem ertem, hogy kapcsolodik ez az SQL topikhoz. Arrol nem beszelve, hogy te "mindossze emberi hozzaallast varsz", azoktol az emberektol, akik "azt se tudjak, mit kene csinalni" es "egyikojuknek sincs fogalma se rola, mert ok csak abban gondolkoznak, hogy vannak adattablak, amiket csak ossze kell kapcsolni es kesz", illetve nem kis cinizmust felfedezve "nagyfomeltosagu programozo urak", raadasul ok "lefele taposnak, elvarjak, hogy pontosan azt az adatot kapjak, amire szukseguk van". Kabare ez az egesz kerem.
but without you, my life is incomplete, my days are absolutely gray
Új hozzászólás Aktív témák
- Milyen notebookot vegyek?
- Vezeték nélküli fejhallgatók
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- Sorozatok
- GoPro Topic
- Faragott a Radeon RX 7700 XT árán az AMD
- Garmin Forerunner 165 - alapozó edzés
- Hobby elektronika
- Óra topik
- További aktív témák...
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia