x820 Ierakstīts Janvāris 29, 2009 Share Ierakstīts Janvāris 29, 2009 (labots) pamāciet mani latviešu valodas gramatikas lietošanā :eek: CREATE TABLE exigo ( id int(11) NOT NULL auto_increment, 1 varchar(255) NOT NULL default '', 2 varchar(255) NOT NULL default '', 3 varchar(255) NOT NULL default '', 4 varchar(255) NOT NULL default '', 5 varchar(255) NOT NULL default '', 6 varchar(255) NOT NULL default '', 7 varchar(255) NOT NULL default '', 8 varchar(255) NOT NULL default '', 9 varchar(255) NOT NULL default '', 10 varchar(255) NOT NULL default '', 11 varchar(255) NOT NULL default '', 12 varchar(255) NOT NULL default '', PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; veicot so pieprasijumu izmetas erors #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 'varchar(255) NOT NULL default '', varchar(255) NOT NULL default '', varc' at line 3 Labots Janvāris 29, 2009 - x820 Link to comment Share on other sites More sharing options...
bubu Janvāris 29, 2009 Share Janvāris 29, 2009 Kolonnas nosakumu (arī tabulu/db) nedrīkst sākties ar ciparu. Link to comment Share on other sites More sharing options...
binary Janvāris 29, 2009 Share Janvāris 29, 2009 bubu, lai cik tas stulbi/dumji/nepareizi arī nebūtu, MySQL ļauj veidot arī db/table/column, kuru nosaukumi sastāv tikai no cipariem, tik tad tās ir jāliek backtick (jeb grave accent) charos: mysql> create database `123`; use `123`; create table `111` (`321` integer); show full columns in `111`; Query OK, 1 row affected (0.00 sec) Database changed Query OK, 0 rows affected (0.04 sec) +-------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +-------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+ | 321 | int(11) | NULL | YES | | NULL | | select,insert,update,references | | +-------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+ 1 row in set (0.01 sec) Bet nu autoram tomēr ieteiktu kolonnu nosaukumus sākt ar burtu... Link to comment Share on other sites More sharing options...
eMDiiPii Janvāris 29, 2009 Share Janvāris 29, 2009 Kolonnas nosakumu (arī tabulu/db) nedrīkst sākties ar ciparu. Tu alojies. Ir vienkārši jānorāda, ka tu runā par DB lauku, nevis skaitli. To izdara ieliekot lauku nosaukums `. mysql> CREATE TABLE aaa (`1` int(11)); Query OK, 0 rows affected (0.07 sec) Ja atmiņa neviļ, tad arī MSSQL kolona varēja sākties ar ciparu . Link to comment Share on other sites More sharing options...
Gints Plivna Janvāris 30, 2009 Share Janvāris 30, 2009 Varēt jau tad var tikai tas vienkārši skaļi brēc pēc potenciālas kļūdas: Ir taču tik viegli apostrofus aizmirst! mysql> create table a (`1` integer, `2` integer, `3` integer); Query OK, 0 rows affected (0.06 sec) mysql> insert into a values (1, 5, 8); Query OK, 1 row affected (0.05 sec) mysql> insert into a values (2, 3, 3); Query OK, 1 row affected (0.05 sec) mysql> select `2`+ 3, 2+ 3 from a; +--------+------+ | `2`+ 3 | 2+ 3 | +--------+------+ | 8 | 5 | | 6 | 5 | +--------+------+ 2 rows in set (0.00 sec) Atgādina ieteikumus no How to write unmaintainable code piemēram iespēju mainīgo vārdos LlELlEM I burtiem vietā rakstīt mazo L, Iai cilvēki pēc tam pamocās un saprot kurš te bija lZMANĪGAIS gaIvenais tipiņš Nu kur man bija i, kur L? Ar kolonu nosaukumiem kā cipariem ir tieši tāpat. Gints Plivna http://datubazes.wordpress.com Link to comment Share on other sites More sharing options...
Vilx- Janvāris 31, 2009 Share Janvāris 31, 2009 Vēl arī interesants jautājums ir - kāpēc visas kolonnas ir VARCHAR(255). Vai patiesi tāds ir nepieciešamais modelis šajā vietā, vai arī tas ir viens no tiem variantiem kur "visas kolonnas ir VARCHAR vienkāršības dēļ"... :roll: Link to comment Share on other sites More sharing options...
bubu Februāris 1, 2009 Share Februāris 1, 2009 bubu, lai cik tas stulbi/dumji/nepareizi arī nebūtu, MySQL ļauj veidot arī db/table/column, kuru nosaukumi sastāv tikai no cipariem, tik tad tās ir jāliek backtick (jeb grave accent) charos: Es to ļoti labi zinu, bet neuzskatu, ka to vajag autoram zināt un izmantot. Vispār labāk nevienam izmantot. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!