Автор Тема: ОТкуда ошибка?  (Прочитано 4281 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Boatman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« : 03 Июля 2002, 17:36:12 »
Вот такой запрос ругается на синтаксис:

CREATE TABLE user2
(
key varchar(20) PRIMARY KEY,
value text(255)
)

В чем  дело?

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
ОТкуда ошибка?
« Ответ #1 : 03 Июля 2002, 17:49:03 »
Boatman
1) почему текстовое поля первичный ключ?
2) в поле text необязательно указывать размер
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #2 : 03 Июля 2002, 17:51:22 »
key - это служебное слово
На Машине Тьюринга далеко не уедешь.

Оффлайн Boatman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #3 : 03 Июля 2002, 17:53:54 »
Цитировать
key - это служебное слово


Да фигня это служебное слово.

я его заменял, ошибку все равно выдает.


Цитировать
) почему текстовое поля первичный ключ?


А что нельзя или просто не рекомендуется?

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
ОТкуда ошибка?
« Ответ #4 : 03 Июля 2002, 18:01:46 »
Boatman
Цитировать
А что нельзя

нельзя :)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #5 : 03 Июля 2002, 18:06:53 »
Цитировать
нельзя

блин! где ты эту глупость нашел!
можно, все можно!
mysql> create table test(
    -> name varchar(20) primary key);
Query OK, 0 rows affected (0.10 sec)

Boatman
замени key на другое  и убери 255 из text!
На Машине Тьюринга далеко не уедешь.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #6 : 04 Июля 2002, 02:10:48 »
Цитировать
и убери 255 из text

или используй TINYTEXT
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
ОТкуда ошибка?
« Ответ #7 : 04 Июля 2002, 09:19:41 »
Вот ответ:
CREATE TEMPORARY TABLE user2
(
_key varchar(20) PRIMARY KEY,
_value text
)
А вот комментарии:
Слова "value" и "key" зарезервированые.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Boatman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #8 : 04 Июля 2002, 09:58:48 »
Цитировать
и убери 255 из text


Почему?
Мануал не  запрещает этого.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #9 : 04 Июля 2002, 10:51:23 »
Цитировать
Почему?
Мануал не запрещает этого.

Кто тебе сказал?

Цитировать

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options] [select_statement]

create_definition:
  col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
            [PRIMARY KEY] [reference_definition]
  or    PRIMARY KEY (index_col_name,...)
  or    KEY [index_name] (index_col_name,...)
  or    INDEX [index_name] (index_col_name,...)
  or    UNIQUE [INDEX] [index_name] (index_col_name,...)
  or    FULLTEXT [INDEX] [index_name] (index_col_name,...)
  or    [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...)
            [reference_definition]
  or    CHECK (expr)

type:
        TINYINT[(length)] [UNSIGNED] [ZEROFILL]
  or    SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
  or    MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
  or    INT[(length)] [UNSIGNED] [ZEROFILL]
  or    INTEGER[(length)] [UNSIGNED] [ZEROFILL]
  or    BIGINT[(length)] [UNSIGNED] [ZEROFILL]
  or    REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or    DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or    FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or    DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
  or    NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
  or    CHAR(length) [BINARY]
  or    VARCHAR(length) [BINARY]
  or    DATE
  or    TIME
  or    TIMESTAMP
  or    DATETIME
  or    TINYBLOB
  or    BLOB
  or    MEDIUMBLOB
  or    LONGBLOB
  or    TINYTEXT
  or    TEXT
  or    MEDIUMTEXT
  or    LONGTEXT
  or    ENUM(value1,value2,value3,...)
  or    SET(value1,value2,value3,...)

index_col_name:
        col_name [(length)]

reference_definition:
        REFERENCES tbl_name [(index_col_name,...)]
                   [MATCH FULL | MATCH PARTIAL]
                   [ON DELETE reference_option]
                   [ON UPDATE reference_option]

reference_option:
        RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

table_options:
   TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MYISAM }
or   AUTO_INCREMENT = #
or   AVG_ROW_LENGTH = #
or   CHECKSUM = {0 | 1}
or   COMMENT = "string"
or   MAX_ROWS = #
or   MIN_ROWS = #
or   PACK_KEYS = {0 | 1}
or   PASSWORD = "string"
or   DELAY_KEY_WRITE = {0 | 1}
or      ROW_FORMAT= { default | dynamic | fixed | compressed }
or   RAID_TYPE= {1 | STRIPED | RAID0 } RAID_CHUNKS=#  RAID_CHUNKSIZE=#
or   UNION = (table_name,[table_name...])
or      DATA DIRECTORY="directory"
or      INDEX DIRECTORY="directory"

select_statement:
   [IGNORE | REPLACE] SELECT ...  (Some legal select statement)

TANSTAAFL

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #10 : 04 Июля 2002, 11:03:29 »
value не является зарезервированным, ты его с values перепутал
На Машине Тьюринга далеко не уедешь.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
ОТкуда ошибка?
« Ответ #11 : 04 Июля 2002, 12:40:10 »
Цитировать
value не является зарезервированным, ты его с values перепутал

Да верняк
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ОТкуда ошибка?
« Ответ #12 : 04 Июля 2002, 17:42:47 »
Чтобы не было проблем с зарезервированными словами, рекоммендуется использовать ``. Хотя бы потому, что список зарезервированных слов расширяется.
Литературный перевод с русского и английского на Perl. Дорого!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28