|
|
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Подскажите, возможно ли составить запрос для данного случая: Имеется таблица (~600 000 строк). В ней нужно у одного столбца заменить значения с 500 000 по 600 000 строки на значения из csv/txt файла. Предполагаю, что можно использовать LOAD DATA INFILE, но точно необходимый запрос не получается составить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 14:13 |
|
||
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Russ86Предполагаю, что можно использовать LOAD DATA INFILEАга, это первый шаг. Russ86но точно необходимый запрос не получается составить.Покажите, как пытались составить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 14:49 |
|
||
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Russ86Предполагаю, что можно использовать LOAD DATA INFILEДа, во временную таблицу. Это будет запрос номер один. Russ86заменить значения с 500 000 по 600 000 строкиЭто будет второй запрос. Но сначала надо будет точно определить, чем задаётся порядок, по какому признаку, при какой сортировке, будут отсчитываться номера строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 14:53 |
|
||
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. AkinaДа, во временную таблицу. Это будет запрос номер один. Данный шаг сделал, создал временную таблицу. AkinaНо сначала надо будет точно определить, чем задаётся порядок, по какому признаку, при какой сортировке, будут отсчитываться номера строк. Пробовал добавить во временную таблицу дополнительный столбец product_id, значения которого бы совпадали со столбцом product_id, который есть в первой таблице. И выполнить запрос с заменой по условию: UPDATE TableB SET TableB.column = ( SELECT TableA.column FROM TableA WHERE product_id = product_id ); Но это привело к ошибке: #1242 - Subquery returns more than 1 row ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 11:19 |
|
||
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Russ86WHERE product_id = product_idвсегда даст True. Надо указать алиасы таблиц (и вообще возьмите за правило - если более одной таблицы - указывать алиас для КАЖДОГО поля): Код: sql 1. 2. 3. 4. 5. 6. При этом предполагается, что TableA.product_id - уникальное. Хотя в MySQL надо быть проще: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 12:14 |
|
||
|
Замена значений в столбце таблицы
|
|||
|---|---|---|---|
|
#18+
Код: html 1. 2. 3. 4. 5. 6. В данном варианте, где product_id совпадали, значения заменялись. А где не было соответствующих product_id значения просто стерлись. Код: html 1. 2. 3. Данный запрос сработал как надо, спасибо. Там где product_id совпали, значения заменились, а остальные остались нетронутыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 13:21 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39681599&tid=1829698]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 377ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...