Как я могу писать запросы для базы данных Bluemix SQL

Как я могу создать таблицу, которая включает автоинкремент и NOT NULL. Я использую консоль базы данных sql, которую предлагает bluemix. Следующий запрос дает мне ошибку.

CREATE TABLE discounts (
  id INT NOT NULL AUTO_INCREMENT,
  title VARCHAR(255) NOT NULL,
  expired_date DATE NOT NULL,
  amount DECIMAL(10,2) NULL,
  PRIMARY KEY (id)
);

Ошибка:

Ошибка DDL с сообщением _ Exception. _ состояние = 42601; код ошибки = -104; Сообщение об ошибке = Ошибка для элемента пакета № 1: после «NULL AUTO_INCREMENT» был обнаружен неожиданный токен «,». Ожидаемые токены могут включать: "".. _CODE=-104, _STATE=42601, DRIVER=3.66.46.


person Lonely Vagrant    schedule 07.05.2015    source источник


Ответы (1)


DB2 не поддерживает оператор "AUTO_INCREMENT".

Вместо этого вы можете использовать команду «ГЕНЕРИРУЕТСЯ ВСЕГДА КАК ИДЕНТИЧНОСТЬ».

СОЗДАТЬ ТАБЛИЦУ скидок ( id INT NOT NULL СОЗДАЕТСЯ ВСЕГДА КАК ИДЕНТИЧНОСТЬ (НАЧНИТЕ С 1 УВЕЛИЧЕНИЕМ НА 1), title VARCHAR(255) NOT NULL, expired_date DATE NOT NULL, amount DECIMAL(10,2) NULL, PRIMARY KEY (id) );

Дополнительные сведения о создании автоматических значений приведены здесь

person James Thomas    schedule 07.05.2015
comment
Работает, спасибо большое. Я следовал шагам, описанным в этой статье. ibm.com/developerworks/library/wa-deployrest-app/ index.html На первом шаге также есть запрос для вставки. Можно ли запустить оператор вставки в консоли базы данных SQL? - person Lonely Vagrant; 07.05.2015
comment
Да, вы должны быть в состоянии. - person James Thomas; 07.05.2015
comment
Этот запрос на вставку, кажется, не работает, вы знаете, почему? ВСТАВИТЬ В товары (id, название, цена) ЗНАЧЕНИЯ (1, Садовая лопата, 15,99), (2, Хлопковый гамак, 54,50), (3, Односпальная надувная кровать, 35,49); Сообщение об ошибке: После E) VALUES (1, Garden) обнаружена непредвиденная лопата токена. Ожидаемые токены могут включать: .. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.66.46 - person Lonely Vagrant; 07.05.2015
comment
Добавить кавычки вокруг названий продуктов? - person James Thomas; 07.05.2015
comment
Я тоже это пробовал. Ошибка: Садовая лопата недопустима в том контексте, в котором она используется. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.66.46 - person Lonely Vagrant; 07.05.2015
comment
Какова схема для продуктов? - person James Thomas; 07.05.2015
comment
Это было что-то очень простое, например CREATE TABLE products (id INT, name VARCHAR(5) price decimal(5,2)); - person Lonely Vagrant; 07.05.2015