Vegyünk egy piszok egyszerű lekérdezést:
SELECT *
FROM news
ORDER BY id DESC
LIMIT 0 , 10
Egy ilyen táblából:
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(5) NOT NULL DEFAULT '0',
`cid` int(5) NOT NULL DEFAULT '0',
`lids` tinytext NOT NULL,
`uri_id` tinytext NOT NULL,
`title` tinytext NOT NULL,
`titletext` text NOT NULL,
`maintext` text,
`stamp` tinytext NOT NULL,
`approved` tinyint(1) DEFAULT '1',
`time` bigint(20) NOT NULL DEFAULT '0',
`views` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=68 ;
Én nem látok hibát. Márpedig így egy bizonyos mezőt mindig üresen ad vissza: uri_id. Próbáltam átnevezni is, az se számított.
Viszont ha az ORDER BY részt kiveszem vagy ASC-ra állítom, akkor már működik...
Whatta hell?
A másik meglepetés, ami sok időmbe került, az az volt, hogy ha egyazon felhasználóval csatlakozok 2 adatbázishoz ugyanazzal a címmel, akkor random elkezdi mixelni az adatbázisokat a lekérdezésekben. Magamtol sose jövök rá, hogy ha host/ip kettéválasztom őket, vagy másik felhasználóval csatlakozok, akkor már nem akad össze.
- 1442 megtekintés
Hozzászólások
Ugye a legújabb stabil verzióval és hozzávaló klienssel tesztelted ezt?
- A hozzászóláshoz be kell jelentkezni
Igen: Client: 5.1.41, Server: 5.1.41-3ubuntu12.6
- A hozzászóláshoz be kell jelentkezni
.48 a legújabb, érdemes lenne megnézned, hogy a gyári bináris is problémázik-e.
- A hozzászóláshoz be kell jelentkezni
en bekapcsolnam a warningokat, es megneznem ugy. bar valoszinuleg nem leszel tole okosabb, a mysqlt ismerve.
- A hozzászóláshoz be kell jelentkezni
Töröltem a táblát, újra létrehoztam (most tinytext helyett varchar), nem csak export-import és kiderült a turplisság is:
Valamiért kitörlődött ennek a mezőnek a tartalma azoknál a soroknál, amiket használtam.
Igen, kitörlődött, mert DELETE parancs _nincs_ a teljes kódban, nemhogy abban ami lefutott. :)
- A hozzászóláshoz be kell jelentkezni
Egy elhibazott update is ki tud torolni. Pl ha a cucc amit bele akarsz eroszakolni egy mezobe, nem fer bele, elkepzelheto, hogy a mysql csak warningot dob bizonyos esetekben, nem errort.
Kedves dolog tole, tenyleg.
- A hozzászóláshoz be kell jelentkezni
Cserébe levágja a mezőt. :) Ha CSV-t LOAD DATA-val töltöttem be, akkor is tudott viccelni.
Az is külön öröm, hogy a pl. 'szabó' és 'szabo' stringeket egyezőnek veszi sima utf-8-as charsettel is és csak akkor tér észre, ha bináris kollációt mondok neki. A bináris kollációt viszont adott feltételekkel már nem eszi és dob egy errort...
- A hozzászóláshoz be kell jelentkezni
sajnos EZ a szabványos viselkedés... accented karakterek egyezőek. Nálunk nem, de más nyelvekben igen.
ezért kell utf8_hungarian helyett utf8_hungarian2 vagy utf8_bin -t használni, ha magyar cuccot raksz bele.
ez van.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Egyetlen update: view = view+1
Sose fog kiderülni mivel csináltam... :)
- A hozzászóláshoz be kell jelentkezni
Oracle termék... ;)
-- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell --
-- Sayusi Ando - http://sayusi.hu --
- A hozzászóláshoz be kell jelentkezni
touché :D:D
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni