crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Rocky
  опции профиля:
сообщение 4.3.2010, 17:09
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем привет!

Пытаюсь создать таблицу в PostgreSQL и одно из полей сделать PK.
Пробую так:
bRetVal = oQuery.exec(QString("CREATE TABLE tab (ID BIGSERIAL, "
":Pict_ID_1_1, :Pict_ID_1_2, :Pict_ID_1_3, "
"PRIMARY KEY (ID));"));
//bRetVal == true

bRetVal = oQuery.prepare(QString("INSERT INTO tab VALUES(" 
        ":Pict_ID_1_1, :Pict_ID_1_2, :Pict_ID_1_3, "
        ");"));
//bRetVal == true


//Потом
oQuery.bindValue(":Pict_ID_1_1", 1);
oQuery.bindValue(":Pict_ID_2_1", 2);
oQuery.bindValue(":Pict_ID_3_1", 3);

bRetVal =oQuery.exec();
//bRetVal == false


Пробовал через sequence:
bRetVal = oQuery.exec(QString("CREATE SEQUENCE tab_sq START WITH 1"));
//bRetVal == true

bRetVal = oQuery.exec(QString("CREATE TABLE BananasGoBahamas (ID DEFAULT NOT NULL nextval('tab_sq') PRIMARY KEY, "
        "Pict_ID_1_1 INTEGER, Pict_ID_1_2 INTEGER, Pict_ID_1_3 INTEGER);"));
//bRetVal == true

bRetVal = oQuery.prepare(QString("INSERT INTO tab VALUES(:ID, " 
        ":Pict_ID_1_1, :Pict_ID_1_2, :Pict_ID_1_3, "
        ");"));
//bRetVal == true


//Потом
oQuery.bindValue(":ID", "tab_sq.nextval");
oQuery.bindValue(":Pict_ID_1_1", 1);
oQuery.bindValue(":Pict_ID_2_1", 2);
oQuery.bindValue(":Pict_ID_3_1", 3);

bRetVal =oQuery.exec();
//bRetVal == false


Как я понял, в постгрессе нету AUTOINCREMENT... Вобщем, никак не работает... (( Кто-нибудь знает в чем может быть проблема?

Спасибо)

Сообщение отредактировал Rocky - 4.3.2010, 17:10
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 25.5.2025, 20:22