Пожалуйста, примите во внимание: Я задаю вопрос, который я хочу, ответил. Я знаю, что этот вопрос означает, что база данных настраивается плохо. Таким образом, я провалю любые ответы, которые предлагают изменить путь, таблица настраивается.
Я должен копировать набор строк при изменении одного значения.
name col1 col2
dave a nil
sue b nil
sam c 5
потребности стать:
name col1 col2
dave a nil
dave a a
sue b nil
sue b a
same c 5
IE для всех записей в этой таблице, где col2 is null
, создайте новую запись в таблице где name
и col1
скопированный, и col2
a
.
Использование:
INSERT INTO table
(name, col1, col2)
SELECT t.name, t.col1, 'a'
FROM TABLE t
WHERE t.col2 IS NULL
Предполагается, что ни столбцы name
, ни col1
не являются первичным ключом и не имеют ограничений уникальности.
Подойдет ли это?
INSERT INTO yourtable
(SELECT name, col1, 'a'
FROM yourtable
WHERE col2 is NULL);