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)

Author: Saharsh Shah, 2015-12-21

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 с той же таблицей, чтобы она обновила соответствующую строку!

 11
Author: Sougata Bose, 2015-12-21 07:31:27

Если вы просто хотите обновить COL3, не включайте другие столбцы в запрос на ОБНОВЛЕНИЕ.

Запрос:

Update TableTest SET COL3 = newdata Where Col1= D11
 6
Author: devpro, 2015-12-22 19:29:10

Вы должны обновить всю таблицу с помощью одного запроса следующим образом:

Update TableSet SET COL3=CONCAT('D',CONVERT(Substr(Col2,2),INT)+1)

Это обновит таблицу следующим образом:

TableTest

Col1  | Col2  | Col3
D11   | D12   |  D13 
D21   | D22   |  D23
 4
Author: Muhammad Muazzam, 2015-12-21 10:02:33

Просто сделай это, вот так:

Update TableTest SET  COL3 = newdata Where Col1= D11
 3
Author: Felix Kamote, 2015-12-21 06:50:56

В запросе ОБНОВИТЬ нет необходимости переназначать значение col1 и col2, если эти значения не меняются.

UPDATE TableTest 
SET COL3 = newdata 
WHERE Col1= 'D11';
 2
Author: Saharsh Shah, 2015-12-21 06:50:57