|
Вставка в таблицу значений ENUM
|
|||
---|---|---|---|
#18+
Доброго дня. Есть запрос на вставку значений в таблицу, где значение поля rating - элемент ENUM. выполнение следующего запроса провоцирует ошибку "столбец "rating" имеет тип mpaa_rating, а выражение - text Подсказка: Перепишите выражение или преобразуйте его тип.". Если выполнять вставку строк по одной, то ошибки нет. Как ее обойти и оставить селекты объединенными, а не писать трижды insert? (значения, передаваемые в поле rating, соответствуют возможным значениям из enum). INSERT INTO film (title, rating) SELECT UPPER('Avengers'), 'PG-13' UNION ALL SELECT UPPER('Interstellar'), 'PG-13' UNION ALL SELECT UPPER('Spirited Away'), 'PG' RETURNING *; ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:41 |
|
Вставка в таблицу значений ENUM
|
|||
---|---|---|---|
#18+
mariem, зачем union all вместо стандартного способа вставки нескольких строк values? Как сказано в подсказке - добавьте явное преобразование типов. cast(.. as ..) или более традиционно для postgresql через :: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:50 |
|
Вставка в таблицу значений ENUM
|
|||
---|---|---|---|
#18+
Melkij, я немного сократила данный запрос для наглядности, на самом деле в select есть данные из другой таблицы, которые я получаю через from. благодарю, через приведение типов действительно не ругается ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:55 |
|
|
start [/forum/topic.php?fid=53&fpage=16&tid=1994234]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
98ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 192ms |
0 / 0 |