Вы сказали:
... в основном, просто копируя все данные из города и штата и помещая данные в поля addr2 и addr3.fields
Если вы хотите заменить все существующие addr2
на city
и addr3
на state
во всех строках таблицы, вам нужно UPDATE
, а не INSERT
:
UPDATE foo SET addr2 = city, addr3 = state;
... где foo
- имя таблицы.
Обратите внимание, что это заменит любые значения, которые вы ранее имели для addr2
и addr3
, поэтому используйте это осторожно. Если вы хотите заменить addr2
и addr3
там, где они NULL
, вы можете сделать:
UPDATE foo SET addr2 = city WHERE addr2 IS NULL;
UPDATE foo SET addr3 = state WHERE addr3 IS NULL;
Или, возможно:
UPDATE foo SET addr2 = city, addr3 = state WHERE addr2 IS NULL AND addr3 IS NULL;
UPDATE foo SET addr3 = CONCAT(city, ', ', state) WHERE addr2 IS NOT NULL AND addr3 IS NULL;
Или, в зависимости от того, какой движок SQL вы используете, вы также можете использовать ISNULL()
:
UPDATE foo SET addr2 = ISNULL(addr2, city), addr3 = ISNULL(addr3, state);
Итак, удалите только что вставленные строки, а затем UPDATE
оставшиеся строки, если необходимо. Вы можете сначала сделать резервную копию ваших данных, просто чтобы быть в безопасности.