@pgsql

Страница 1044 из 1062
F01134H
19.10.2018
15:29:43
SELECT id FROM users WHERE username = 'John' AS first_user_id

Как мне тут в first_user_id запихнуть именно первый найденный ID?

а не всю пачку результатов, либо не массив строк

Иначе говоря, как можно получить одно поле из строки

Google
F01134H
19.10.2018
15:36:38
костылем типа max(el)?

Alexey
19.10.2018
15:38:35
> SELECT id Вот же поле выбрано из строки, не?

F01134H
19.10.2018
15:38:50
У меня все равно получается выборка

Мне нужно в запросе объявить переменную, содержащую ID конкретной строки

Alexey
19.10.2018
15:39:34
Переменные есть в mysql.

F01134H
19.10.2018
15:39:52
Но речь то про постгрес

Alexey
19.10.2018
15:40:32
Что хотите сделать?

Yaroslav
19.10.2018
15:41:31
F01134H
19.10.2018
15:41:36
У меня есть связанная таблица, содержащая некоторый label, мне нужно получить конкретную строку, и ID этой строки впихнуть в INSERT INTO users

в поле label_id соответственно

Alexey
19.10.2018
15:43:26
Если я вас правильно понял: insert into users (label_id, ...) values ((select id from labels where id = ... ), ... )

F01134H
19.10.2018
15:44:19
Если я вас правильно понял: insert into users (label_id, ...) values ((select id from labels where id = ... ), ... )
Ага, это круто, но возникает тогда проблема - у меня VALUES - несколько (несколько строк вставляется). Получается нужно делать select id from labels where id = ... каждый раз

Google
F01134H
19.10.2018
15:45:37
Вот непонятно, как он тут поможет

Alexey
19.10.2018
15:45:48
insert into usres (select 12 as user_id, id from labels where user_id = 1);

F01134H
19.10.2018
15:46:12
хотя понял, спасибо

Alexey
19.10.2018
15:46:17
Давайте вы что-нибудь по конкретней скажете, а то мы асбракциями до утра будем беседовать

Окей

Terminator
19.10.2018
17:41:49
@Shishka будет жить. Поприветствуем!

Sergey
19.10.2018
17:42:34
?

Terminator
19.10.2018
19:26:07
@adprk будет жить. Поприветствуем!

Kirill M будет жить. Поприветствуем!

Anton будет жить. Поприветствуем!

@pavelgonzales будет жить. Поприветствуем!

Pavel
20.10.2018
15:19:29
Всем привет, меня зовут Паша, я фронтендер



у меня есть вот такие данные, как организовать вложенные обхекты?

для них сделать отдельную таблицу? например таблица articles и таблица metadata

Sergey
20.10.2018
15:21:00
Можно в json засунуть

Pavel
20.10.2018
15:21:16
а json куда?

Bogdan
20.10.2018
15:22:27
а json куда?
формат данных json или jsonb

Sergey
20.10.2018
15:22:41
Ну я не знаю как у тебя все организовано (или планируется). Но можно сделать поле формата json/jsonb.

Bogdan
20.10.2018
15:23:21
поле metadata, к прмиеру а то что на верхнем уровне оставить отдельными коллонками

Google
Sergey
20.10.2018
15:23:41
А можно к примеру сделать таблицу metadata, а таблицу article отнаследовать от metadata.

Pavel
20.10.2018
15:32:22
формат данных которые приходят на ликент json

просто я думаю как БД организовать

ниразу не работал с БД

Bogdan
20.10.2018
15:33:53
ну если у тебя напред не известно какие поля в метаданных (само название метаданные об этом намекает) то создать джейсон колонку напршиваеться иначе можно сделать две таблицы и связать их по Foreign Key

Pavel
20.10.2018
15:34:11
еще думаю что бы связать metadata и articles, в таболице metadata указывать айдишник статьи, илои наоборот

metadata это OG сайта )

плохо назвал скорее всего)

и да, в метадата всегда будут одни и теже поля, просто какие-то поля иногда будут пустые

Aleksander
20.10.2018
15:44:50
Вопрос. А как функцией random сгенерить 10 млн значений девятизначных от 000000001 до 999999999

Уникальных

И чтобы количество цифр символов числа всегдя было 9 знаков. Не меньше не больше

Sergey
20.10.2018
15:46:25
А зачем тут рандом?

Aleksander
20.10.2018
15:47:03
А зачем тут рандом?
А как? 10 миллионов унткальных значений

Не последовательно

Sergey
20.10.2018
15:48:15
1) проитерироваться 2) сделать шафл

Aleksander
20.10.2018
15:48:25
Есть табличка id, randomnum

Не понял что вы имеете ввиду.

1) проитерироваться 2) сделать шафл

Я новичек в pg

Google
Aleksander
20.10.2018
15:52:47
Есть табличка id, randomnum
Ее надо заполнить 10млн уникалными значениями, где id уникально а randomnum тоже уникально и рандомно 9ти значно. Понятно что для формирования generate_series подойдет для id но для поля randomnum что сделать?

Terminator
20.10.2018
15:58:27
@fedorchuk будет жить. Поприветствуем!

Aleksander
20.10.2018
16:15:29
а чем функция random() не подходит?
А как ей сделать 9 ти значноеуникальное число?

Bogdan
20.10.2018
16:18:14
приведи кстроке, и обрежь лишние символы

стоп, а зачем уникальное?

ну создай series для уникальных, потом просто отсортирую по рандому

Pavel
20.10.2018
17:51:05
о, я выяснил, у меня была задача оказывается со связью один к одному

кстати вопрос, у меня будет два поля, в одном будет о-о-очень много текста, в другой будет о-о-очень много html строкой, повлияет ли это на скорость выборки если я буду выбирать по айдишнику ?

а то в какой-то статье было сказано что для оптимизации онигда большие поля выносят в отдельную таблицу, тем бболее если они могут понадобиться отдельно

простите если вопросы нубские, просто я неделю только с БД разбираюсь, и для меня тут все новое

Bogdan
20.10.2018
17:56:24
а то в какой-то статье было сказано что для оптимизации онигда большие поля выносят в отдельную таблицу, тем бболее если они могут понадобиться отдельно
впостгре под капотом это сделано, любая запись больше 2х кб выносится в таблицу toast так что вполне нормально, особенно если будешь искать по ID если будешь не по айди искать, лутше в списке SELECT не указывать коллонку эту, и доставать данные без этой колонки

Pavel
20.10.2018
17:57:35
спасибо большое )

Zheka_13
20.10.2018
18:04:12
Лучше конечно так не делать. Если очень много текста, то хранить это где то в другом месте, а в постгрес ссылку на это место.

Sergey
20.10.2018
18:37:26
Ограничение имен в PG в 63 символа как-то можно обойти?

(кроме пересборки с правкой дефайна NAMEDATALEN)

Bogdan
20.10.2018
18:55:08
охх, а зачем такое делать? должно с головой хватать 63-х символов

Страница 1044 из 1062