[WT] [Архив] [Поиск] [Главная] [Управление]
[Совместно с IIchan.ru]

[Назад]
Ответ в нить

Имя
Адрес  [sage] [noko]
Animapcha image [?]
Тема   (reply to 2358)
Сообщение
Файл 
Пароль  (для удаления файлов и сообщений)
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, GIF, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1460 unique user posts. Посмотреть каталог
  • Радио:

Файл: 128143641984.jpg-(31.90KB, 450x500, 26184479_1web7[1].jpg)
2358 No. 2358 watch
Сырны, я сейчас занят тем, что заполняю одну таблицу postgreSQL информацией из другой, и мне хочется взять это просто и безо всякого программирования. Скажи, как
при добавлении записи можно попроще создать уникальный идентификатор записи типа счетчика? (если можно, число в виде 16-значной строки)
>> No. 2359
Даже не так.
Мне нужно, добавляя новую запись, создать для нее уникальный идентификатор в специальном поле, и еще занести его значение в другое место. Как вообще может выглядеть запрос, который делает что-то типа этого?
>> No. 2361
>>2359

Тип данных для первичного ключа можно указать serial
http://www.postgresql.org/docs/8.3/interactive/datatype-numeric.html#DATATYPE-SERIAL
Все sequences для него сгенерятся автоматически (хотя если в жопе жжот можно и ручками)

В 8.3 появился такой синтаксис вставки:
INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
[ RETURNING * | output_expression [ AS output_name ] [, ...] ]

При добавлении вот этот самый RETURNING тебе и надо использовать
>> No. 2395
А что, в постгрессе нет автоинкремента, селекта и хранимых процедур?
>> No. 2396
>>2395
Есть.
>> No. 2397
>>2396

Ну так и добавь в таблицу поле с автоинкрементом. Вот и будет тебе уникальное значение для каждой новой записи. А наверняка в постгрессе как и в любой другой субд есть какое-то средство позволяющее получить id последей вставленной в таблицу записи. Профит!
>> No. 2402
>>2396
Нет. Такой убогой вещи как "автоикремент" там нет, зато есть куда более мощные секвенсы.
[Назад]


Удалить сообщение []
Пароль  
[Mod]