Прокачался тут в MySQL
Пришлось ковырять перенос из Volusion в Drupal. Переносил через 1С, как это ни странно.
Так вот, узнал много новых SQL-конструкций, о которых раньше не знал.
Например INSERT с обработкой ошибок (и это я еще не знал про INSERT IGNORE):
INSERT INTO file_usage (id, fid, module, TYPE, COUNT) SELECT entity_id, uc_product_image_fid, 'file', 'node', 1 FROM field_data_uc_product_image ON DUPLICATE KEY UPDATE COUNT = 1
Или удаление через запрос с JOIN:
DELETE taxonomy_index FROM taxonomy_index; INSERT INTO taxonomy_index (nid, tid) SELECT entity_id, field_category_tid FROM field_data_field_category; INSERT INTO taxonomy_index (nid, tid) SELECT entity_id, field_brend_tid FROM field_data_field_brend
UPDATE с запросом через JOIN:
UPDATE taxonomy_term_hierarchy LEFT JOIN taxonomy_term_data ON taxonomy_term_hierarchy.tid = taxonomy_term_data.tid LEFT JOIN field_data_field_taxonomy_volusionid ON field_data_field_taxonomy_volusionid.entity_id = taxonomy_term_data.tid SET taxonomy_term_data.vid = 6, taxonomy_term_hierarchy.parent = 0 WHERE VID = 5 AND parent = 838
Как говорится, век живи, век учись!
Свежие комментарии