Как в Cloud SQL с движком MySQL заменить функциональность ЗАГРУЗИТЬ ДАННЫЕ INFILE ... REPLACE?
Мы переносим нашу веб-платформу в Google Cloud с помощью App Engine и Cloud SQL.
Мы используем LOAD DATA INFILE с режимом IGNORE или REPLACE, чтобы импортировать файлы CSV в наши таблицы.
Поскольку инструкция LOAD DATA INFILE не поддерживается в Cloud SQL, как мы можем ее заменить?
Я пытался использовать gcloud sql import csv и Cloud SQL API, но, похоже, нет возможности ИГНОРИРОВАТЬ или ЗАМЕНИТЬ повторяющиеся данные.
В качестве примера приведем таблицу, в которую импортируются данные:
C1 | C2 | C3 | C4
-----------------
1 | 2 | 3 | A |
4 | 5 | 6 | B |
7 | 8 | 9 | C |
В этой таблице есть уникальный индекс по столбцам C1 + C2 + C3.
Теперь мне нужно импортировать CSV-файл, содержащий следующее:
1,2,3,AA
Если бы я использовал LOAD DATA INFILE с опцией REPLACE, таблица после импорта была бы такой:
C1 | C2 | C3 | C4
-----------------
1 | 2 | 3 | AA |
4 | 5 | 6 | B |
7 | 8 | 9 | C |
Итак, я хотел бы получить такое же поведение в Cloud SQL с помощью gcloud sql import csv или Cloud SQL API.
Нам нужно сделать это программно с помощью PHP.
Возможно ли это или есть еще одна возможность?
Спасибо