kalabox Posted April 23, 2011 Report Share Posted April 23, 2011 Tātad, ir šāda sql tabula CREATE TABLE `ds_comment_threads` ( `thread_id` int(11) unsigned NOT NULL auto_increment, `image_id` int(11) unsigned NOT NULL default '0', `thread_status` enum('queued','approved','disabled') NOT NULL default 'queued', `updated` timestamp(14) NOT NULL, `created` timestamp(14) NOT NULL default '00000000000000', PRIMARY KEY (`thread_id`), KEY `thread_status` (`thread_status`) ) ENGINE=MyISAM; un no šīs tabulas met ārā šādu kļūdu #1064 - 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 '(14) NOT NULL, `created` timestamp(14) NOT NULL default '00000000000000', ' at line 5 Quote Link to comment Share on other sites More sharing options...
wintermute Posted April 23, 2011 Report Share Posted April 23, 2011 Beiz lietot timestamp(14) un sāc apgūt manuāļa lietošanu : http://dev.mysql.com/doc/refman/5.0/en/timestamp.html Kāpēc image_id defaultā vērtība ir strings ? Kāpēc tu izmanto enum ? Ko nozīmē "KEY `thread_status` (`thread_status`)" ? Un tieši kāpēc tu lieto MyISAM dzini !?! Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 24, 2011 Report Share Posted April 24, 2011 (edited) Kāpēc tu izmanto enum ? Paskaidro luudzu kaapec ne? Shaja gadijuma enum lietoshana ir pamatota ... P.S.slikti butu ja tur buutu chars.. Edited April 24, 2011 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
wintermute Posted April 24, 2011 Report Share Posted April 24, 2011 1. izmantojot ENUM rodas situācija, ka dati atrodas tabulas shēmā. 2. ENUM kolonās dati tiek definēti kā string's, bet glabāti kā skaitlis. 3. vērtības ENUM kolonā ir piesaistītas secībai, kurā tu tās definēji 4. pievienojot jaunu variantu, ir jāatkārto visas iepriekš esošās vērtības precīzi tādā pašā secībā 5. ja tu vairs neizmanto kādu vērtību, tā tik un tā ir jāatkārto pie katras tabulas alterācijas Tām vērtībam būtu jābūt citā tabulā un piesaistītām caur FOREIGN KEY. Quote Link to comment Share on other sites More sharing options...
briedis Posted April 24, 2011 Report Share Posted April 24, 2011 1. izmantojot ENUM rodas situācija, ka dati atrodas tabulas shēmā. 2. ENUM kolonās dati tiek definēti kā string's, bet glabāti kā skaitlis. 3. vērtības ENUM kolonā ir piesaistītas secībai, kurā tu tās definēji 4. pievienojot jaunu variantu, ir jāatkārto visas iepriekš esošās vērtības precīzi tādā pašā secībā 5. ja tu vairs neizmanto kādu vērtību, tā tik un tā ir jāatkārto pie katras tabulas alterācijas Tām vērtībam būtu jābūt citā tabulā un piesaistītām caur FOREIGN KEY. 2. un? 3. Izmēģināju - nesanāca sastapt kaut kādas problēmas mainīt secību enum vērtībām 4. Izmēģināju - pofig kādā secībā definēju, spraust jauno vērtību varu kur gribu 5. Izmēģināju izmest kādu enum vērtību. Ierakstos kur tā tika izmantota palika tukšums, tā kā neredzu nekādas problēmas. Neredzeu nevienu jēdzīgu (vispār kādu?) iemeslu, lai nelietotu enum. Protams, ja enum vērtības ir daudz, tad ir jēdzīgāk glabāt atsevišķā tabulā lai shēma nebūtu uz-bloat-ota. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.