Új hozzászólás Aktív témák
-
krokk
senior tag
ha parancsra gondoltál:
''select nev from nick;'' evvel kiirja szépen sorban ha rendezni is akarod akkor ''order by asc'' a táblanév után. a tábla elnevezése meg nem épp nyerő. jah és ez csak a neveket írja ki.
de ezek alap dolgok. szerintem keress vmi netes olvasmányt. van nagyon sok.the funniest thing about this text is that by the time you realize it doesn't say anything it's too late for you to stop reading it
-
taklasz
csendes tag
Sziasztok!
Van egy tábla, ami a 127-es számú user_id-től többet nem hajlandó elfogadni.
Egy űrlapon keresztül töltöm fel.
Kipróbáltam már több ingyenes tárhelyen is, egyiken sem számol tovább.
Mi lehet a gond a táblámmal?
CREATE TABLE `list` (
`user_id` tinyint(5) NOT NULL auto_increment,
`email` varchar(40) NOT NULL default '',
`name` varchar(40) NOT NULL default '',
`approved` char(1) NOT NULL default 'N',
PRIMARY KEY (`user_id`),
UNIQUE KEY `email` (`email`)
) TYPE=MyISAM AUTO_INCREMENT=20 ; -
9CS
senior tag
Szia
A signed tinyint -128-127-ig számoz, de akkor sem lenne jobb, ha unsigned lenne, mivel az is csak 255, válassz szerintem nagyobb integer értéket az azonosítóknak. Főleg mivel törlés után is tovább számoz, így az évek során könnyű túllépni azt a tinyint-et. MySQL manual: [link]'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''
-
VladimirR
nagyúr
hi
adott egy forum, ket (tobb, de most csak ketto szamit) tablaval, a topic-ok es a hozzaszolasok tablajaval
elobbiben vannak a topic adatai (id, cim, nyitas ideje, nyito, kategoria, etc...), utobbiban a hozzaszolasok (id, hozzaszolo id-je, topic id-je, etc)
mivel nem sajat forumrol van szo, igy a torlest eleg erdekesen kellene megoldanom ,megpedig ugy, hogy ha eltunik egy topic, vagyis eltunik egy sor a topic-ok tablajabol, akkor torlom a benne levo hozzaszolasokat (vagyis a megfelelo topicid-vel rendelkezo sorokat a hozzaszolasok tablajabol
hogyan lehet ezt a leginkabb fajdalommentesen megoldani?
az sajnos nem megoldhato, hogy mielott torlom a topic-ok tablajabol a sort, torlom a hozza tartozo post-okat, mindenfele okok miatt (foleg, mert fel evre visszamenoleg kellene megoldanom a torolt topic-ok post-jainak torleset es megeshet, hogy a jovoben is lesz hasonlo)
ami eddig eszembe jutott, az az, hogy a topicid-k bol halmazt kepzek, majd azt mondom, hogy ''delete from posts where topicid not in (<halmaz>)''
ez mennyire elfogadhato megoldas, van-e ettol szebb, jobb, gyorsabb
segitsegeteket elore is koszonom -
Jester01
veterán
válasz VladimirR #305 üzenetére
delete from posts where topicid not in (<halmaz>)
Szerintem semmi baj nincs ezzel a megoldással. Gondolom a <halmaz> egy al-select, jelen esetben tehát valami ilyesmi lesz a parancs:
delete from posts where topicid not in (select topicid from topics)
Alternatív módszer:
delete from posts where not exists (select * from topics where topics.topicid = posts.topicid)
Az explain parancs által adott infók alapján nekem úgy tûnik, hogy az elsõ a gyorsabb. Ha van index a topics.topic_id mezõre, akkor azt mind a két verzió kihasználja.Jester
-
Haok
tag
Próbálkozok SQl el de nem nagyon megy
CREATE TABLE ME
(
ID INTEGER NOT NULL,
NEV VARCHAR2(10 BYTE) NOT NULL
);
CREATE TABLE TERMCSOP
(
ID INTEGER NOT NULL,
NEV VARCHAR2(20 BYTE) NOT NULL,
SZULO INTEGER
);
Így kezdődik, és ilyen hibát dob, amikor indítanám:
''You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR2(10 BYTE) NOT NULL
);
CREATE TABLE TERMCSOP
(
' at line 9''
Mi lehet a gond?---===Győzelem a fontos, és ahhoz kell a részvét....Görbüljön a BOT===---
-
Haok
tag
válasz Jester01 #308 üzenetére
Úgylátom Te eléggé értesz ehhez.
Mit kellene leszednem , hogy mindenféle átalakítás nélkül tudjam használni azt az SQL fájlt, aminek egy részét bemásoltam, mert hiába átírom a varchar-t úgy ahogy mondod , nem megy.---===Győzelem a fontos, és ahhoz kell a részvét....Görbüljön a BOT===---
-
Jester01
veterán
-
VladimirR
nagyúr
hi
valaki meg tudna magyarazni nekem, hogy:
-mi a kulonbseg a varchar es a text adattipuxok kozott, leszamitva a meretuket, illetve azt, hogy utobbinal csak ugy keszitheto index, ha megadom az ''index prefix length''-t?
-mi az az index prefix length?
-mi a kulonbseg szoveges (varchar, text) mezo eseteben a sima index es a fulltext index kozott?
-hogy jobb index-et kesziteni? melyiknek mik az elonyei, hatranyai?
-a) alter table tablanev add index ( mezo1, mezo2 );
-b) alter table tablanev add index ( mezo1 ).|. table tablanev add index ( mezo2 );
manualt olvasgattam, de ezekre nem kaptam belole szamomra ertheto valaszt -
VladimirR
nagyúr
válasz VladimirR #311 üzenetére
meg egy kerdes:
ha van ket tablam van-e kulonbseg sebessegben, memoriahasznalatban az alabbi ketto kozott:
1:
select id from tabla1 where name = 'nev';
ezt bepakolom egy valtozoba
select count( id ) from tabla2 where tid = valtozo;
2:
select count( id ) from tabla1 inner join tabla2 on tabla1.id = tabla2.tid where tabla1.id = 'nev';
azert kerdezgetek ennyi hulyeseget, mert nem egy kimondott izomgep-re keszulok attenni az adatbazist, ahol szamitani fog, hogy igazan jol legyenek belove maga az adattarolas is es a lekerdezesek is
segitsegeteket elore is koszonom -
VladimirR
nagyúr
egy up a kesonkeloknek
-
Jester01
veterán
válasz VladimirR #311 üzenetére
egy up a kesonkeloknek
mi a kulonbseg a varchar es a text adattipuxok kozott
varchar -nak a rekordban van foglalva hely (a maximális hossznak), text esetén csak a hossza és egy pointer van eltárolva. Ez utóbbi egy külön területre mutat. A text ezért lassabb, de kevesebb helyet foglal.
mi az az index prefix length
Az index csak ennyi karaktert használ. Az olyan értékeket amik ezen hosszig megegyeznek azonosnak tekinti. A lekérdezéskor a látszólag egyező értékekre még egy szűrés fut.
mi a kulonbseg szoveges (varchar, text) mezo eseteben a sima index es a fulltext index kozott?
Fulltext indexben mindenféle vicces módon lehet keresni (MATCH ... AGAINST), sima indexben csak összehasonlítás van (kisebb-nagyobb-egyenlő).
hogy jobb index-et kesziteni? melyiknek mik az elonyei, hatranyai?
-a) alter table tablanev add index ( mezo1, mezo2 );
-b) alter table tablanev add index ( mezo1 ).|. table tablanev add index ( mezo2 );
Ez a két eset nem ekvivalens. Az első esetben mezo2-re nincs index (ha az adott adatbáziskezelő jobbról használja az összetett indexeket - ellenkező esetben mezo1-re nem lesz index). Ha mindig mind a két mezőre van szűrés, akkor az első módszer jobb lesz. Ha viszont a két mezőre külön-külön is akarsz keresni akkor a másodikra van szükséged. Plusz ha UNIQUE feltételed is van, akkor az első esetben a (mezo1, mezo2) pároknak kell egyedinek lenni, míg a másodikban a mezo1 és mezo2 értékeknek külön-külön.
MOD: szóval az összetett indexet (az adatbáziskezelőtől függően jobbról vagy balról) tetszőleges hosszig lehet használni. Pl. a (mezo1, mezo2, mezo3) indexet lehet (mezo1), (mezo1, mezo2), (mezo1, mezo2, mezo3) indexként is használni.
ha van ket tablam van-e kulonbseg sebessegben, memoriahasznalatban az alabbi ketto kozott:
Ránézésre nincs (feltéve, hogy van index mind a 2 lekérdezéshez). De az első a biztosabb.
Ha valahol hülyeséget írtam, javítsatok ki
[Szerkesztve]
[Szerkesztve]Jester
-
alitak
senior tag
Van olyan mysql parancs, amivel már meglévő táblához tudok hozzátenni még1 oszlopot?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
RedAnt
aktív tag
válasz Jester01 #314 üzenetére
ha van ket tablam van-e kulonbseg sebessegben, memoriahasznalatban az alabbi ketto kozott:
Ránézésre nincs (feltéve, hogy van index mind a 2 lekérdezéshez). De az első a biztosabb.
még annyit tennék hozzá hogy az első esetnél, ha egy konkrét sorra keresel a név alapján, akkor distinct-el érdemes és limit 1-gyel, így az első találatnál leáll, és használja az indexeket teljes tábla-scan helyett akkor is ha alapból figyelmen kívül hagyná. Forrás: [link]╚╦╦╦
-
VladimirR
nagyúr
válasz Jester01 #314 üzenetére
kosz a valaszt (RedAnt, neked is)
varchar -nak a rekordban van foglalva hely (a maximális hossznak)
amennyire tudom, a varcharnak pont ez a lenyege a char-ral szemben, hogy nincs szamara a maximalis hossz lefoglalva, csak a hossz + 1 byte (ujabban (mysql5-tol talan), ha a varchar hossza nagyobb, mint 255 karakter, akkor lehet hossz + 2 byte is)
alter table tablanev add index ( mezo1 ).|. table tablanev add index ( mezo2 );
most latom csak, a ph motor kiszurte a lekerdezest, az ott eredetileg nem egy ''pocs'' volt, hanem egy masik alter (amennyire eszrevettem, ha a kovetkezo karaktersor van, akkor az atalakul .|. karakterekke: ; sqlparancs
ha van ket tablam van-e kulonbseg sebessegben, memoriahasznalatban az alabbi ketto kozott:
miert biztosabb es mit ertesz ezalatt?
(egyebkent most latom csak, hogy ezt meg en irtam el: a masodiknak ez a vege: tabla1.name = 'nev' -
Jester01
veterán
válasz VladimirR #318 üzenetére
A biztosabbat úgy értettem, hogy így csak kisebb mértékben bízod a query optimizer-re a döntést. A két egyszerû lekérdezésnél (RedAnt javaslatával) valószínû, hogy 2 index lookup lesz az egész. Elvileg az optimizer is ezt adja és úgy megtakaríthatsz egy parancsfeldolgozást. Persze csak ha bízol benne
Ami a varchar-t illeti valóban igazad van. Mondjuk egy ilyen utalást találtam azért a leírásban: ''Remember that MySQL may treat VARCHAR columns as if they're CHAR columns, in which case the fixed format is used.'' De fogalmam sincs mire céloz.Jester
-
Tele von Zsinór
őstag
Adott egy tábla, amiből sikerült törölni pár rekordot, ami mégis kéne. Belenéztem a fileokba, még benne van, phpmyadmin is jelzi, hogy van benne adat, ami már törölve lett, de még foglalja a helyet.
Van-e valami mód arra, hogy ezeket a rekordokat visszanyerjem? A szöveges info még egy dolog, de a számok, dátumok..., szal minden, amit binárisan tárol, az (szemre) nem triviális módon tárolódik. -
Tele von Zsinór
őstag
válasz Tele von Zsinór #320 üzenetére
up! senki?
-
Tyrael
senior tag
válasz Tele von Zsinór #320 üzenetére
milyen tipusu adatbazist hasznalsz?
myisam, innodb, ...?
Tyrael -
Tyrael
senior tag
válasz Tele von Zsinór #324 üzenetére
konkretan erre gondoltam:
How to Recover deleted records?
Oct 18th, 2001 10:40
Joshua Bug, Xiaojing Li,
Can't be done.
Tyrael -
alitak
senior tag
Ha boolean típust szeretnék, akkor használjam a tinyint típust?
Nec arte, nec marte | használt hardverek jó áron: http://goo.gl/lUwLkw
-
emitter
őstag
hi,
miért nem akarja az igazságot ez a vack?
emitter@LAPTOP:~$ /usr/local/mysql/bin/mysql --user=root --password=jelszo
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.2.0-falcon-alpha MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database teszt;
Query OK, 1 row affected (0.02 sec)
mysql> \u teszt;
ERROR 1049 (42000): Unknown database 'teszt;'
[Szerkesztve] -
emitter
őstag
válasz VladimirR #329 üzenetére
köszi
lenne egy újabb kérdésem, hogyan tudom a mysql-daemont más user nevén indítani? root-ként akarom, de ezt írja:
emitter@LAPTOP:/var/www$ mysqld --user=root
070121 21:34:07 [Warning] Ignoring user change to 'root' because the user was set to 'mysql' earlier on the command line
és mysql névvel indítja.. -
emitter
őstag
hali!
Ha csak ftp-hozzáférésem van egy szerverhez, akkor arról hogyan tudom lementeni az adatbázist? phpMyadmin-t próbáltam felrakni rá, de a telepítésnél kéri, hogy egy config php-t másoljak a docroot-ba, namost ezt hogyan??
Vagy más ötlet mysql dumpolásra
thx -
emitter
őstag
válasz paramparya #334 üzenetére
aham, köszi
sajnos nem férek hozzá az adatbázishoz..
És semmi workaround nincs erre? -
Tyrael
senior tag
ha az ftp-vel elersz egy olyan mappat, ami webrol elerheto, akkor oda feltoltod a phpmyadmin-t, majd ezutan weben keresztul phpmyadminba belepsz, es nyomsz egy exportot.
ehhez persze rendelkezned kell a kivant adatbazishoz felhasznaloi fiokkal.
illetve ha az adott felhasznaloi fiokhoz engedelyezve van a tavoli eleres, akkor barmilyen db klienssel tudod tavolrol kezelni az adatbazist.
mi a cegnel az EMS-t favorizaljuk.
Tyrael
[Szerkesztve] -
emitter
őstag
Megoldható valahogyan, hogy egy meglevő adatbázisban a táblák karakterkódolását megváltoztassam? phpmyadminnal próbálkozom, de nem látok ilyen lehetőséget..
-
emitter
őstag
(Importálás helyett) phpmyadminban sql-parancs futtatásához bekopiztam a db-m tartalmát, erre ezt kapom:
Hiba
SQL-kérés:
--
-- Dumping data for table `search_total`
--
INSERT INTO `search_total` ( `word` , `count` )
VALUES (
'menüpont', 0.30103
), (
'megszünik', 0.30103
), (
...
MySQL jelzi: Dokumentáció
#1062 - Duplicate entry 'még' for key 1
Ez mit akar jelenteni? És főleg mi ez a még cucc, mikor én mindenhol utf8-at használtam (az sql-tartalom másolásakor is; az adatbázisom is utf8-at használ, és a phpmyadminban is erre van állítva; böngésző szintén..) -
vakondka
őstag
Szia,
Itt valami nagyon nem stimmel...két meződ van, egy word és egy count nevű ebben a táblában ?
Mert ha igen, akkor csak az első insert a helyes, a töbinek hiányzik az eleje.
INSERT INTO `search_total` ( `word` , `count` ) VALUES ('menüpont', 0.30103);
INSERT INTO `search_total` ( `word` , `count` ) VALUES ('megszünik', 0.30103);
stb..
ja igen, és kell a pontosvessző is az insert-ek közé.
[Szerkesztve]https://toptarget.hu - Online Marketing Ügynökség
-
RedAnt
aktív tag
válasz vakondka #340 üzenetére
Azzal semmi baj nincs, ld. [link] - SQL-92 szabvány, mysql támogatja.
emitter: ilyen hiba akkor van, amikor egy utf-8-ban kódolt 'é' karaktert iso-8859-1-ként próbálnak értelmezni, de ha a phpmyadmin és a böngésződ is utf-8-ra van állítva, akkor passz... Esetleg ellenőrizd, milyen content-type headert kapsz.
[Szerkesztve]╚╦╦╦
-
cucka
addikt
duplicate entry for key azt jelenti, hogy van egy unique meződ, amibe insertnél már meglévő dolgot szeretnél pakolni, vagyis ettől már nem lenne unique.
elvileg ha utf8 van mindenhol, akkor nem kéne ilyen karakterkódolási probléma előjöjjön. ha az adatbázis utf8as, akkor valószínüleg a phpmyadmin kódolása lesz elrontva.. -
alcsapalcsa
tag
lehet teljesen off a kérdés, de azt sem tudom, hogyan keressek rá a topicok között. ha nagy gáz a kérdés itt, akkor elnézést!
olyan szolgáltatót keresek, ahol ha több mysql adatbázist lehet létrehozni, de nem külön adatbázisonként számláznak, hanem mondjuk méret alapján, tehát kapok 10-20Mb-ot és abban létrehozhatok akár 3-4 adatbázist is. tud vki ilyet? elnézést a buta kérdésért és valszeg a rossz helyen feltettért....
Új hozzászólás Aktív témák
- Formula-1
- Politika
- Huawei P30 Pro - teletalálat
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Megbírságolták a Razert a Zephyr maszkok miatt
- A fociról könnyedén, egy baráti társaságban
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Anglia - élmények, tapasztalatok
- SSD kibeszélő
- Crypto Trade
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen