Php mysql для обновления только пустого столбца
Рассмотрим, что у меня есть 4 столбца в таблице, и у меня есть данные для 3 столбцов, как показано ниже
TableTest
Col1 | Col2 | Col3
D11 | D12 |
D21 | D22 |
Обычно запрос на обновление будет
Update TableTest SET Col1 = D11 , Col2 = D12 , COL3 = newdata Where Col1= D11
Сценарий заключается в том, что запрос обновления должен отправлять данные только в COL3, он должен пропускать Col1 и Col2, так как он уже заполнен данными (даже если те же или разные данные для Col1 и Col2)
5 answers
Это может помочь -
UPDATE TableTest a
INNER JOIN TableTest b ON a.Col1 = b.Col1
SET a.Col3 = 'newData'
WHERE a.Col3 IS NULL
INNER JOIN
с той же таблицей, чтобы она обновила соответствующую строку!
Если вы просто хотите обновить COL3, не включайте другие столбцы в запрос на ОБНОВЛЕНИЕ.
Запрос:
Update TableTest SET COL3 = newdata Where Col1= D11
Вы должны обновить всю таблицу с помощью одного запроса следующим образом:
Update TableSet SET COL3=CONCAT('D',CONVERT(Substr(Col2,2),INT)+1)
Это обновит таблицу следующим образом:
TableTest
Col1 | Col2 | Col3
D11 | D12 | D13
D21 | D22 | D23
Просто сделай это, вот так:
Update TableTest SET COL3 = newdata Where Col1= D11
В запросе ОБНОВИТЬ нет необходимости переназначать значение col1 и col2, если эти значения не меняются.
UPDATE TableTest
SET COL3 = newdata
WHERE Col1= 'D11';