IT

모든 MySQL 테이블 행을 동시에 업데이트하는 방법은 무엇입니까?

itgroup 2023. 8. 11. 21:44
반응형

모든 MySQL 테이블 행을 동시에 업데이트하는 방법은 무엇입니까?

모든 MySQL 테이블 행을 동시에 업데이트하려면 어떻게 해야 합니까?

예를 들어, 저는 다음과 같은 표를 가지고 있습니다.

id    |  ip    | port      |  online_status |
1     |  ip1   | port1     |                |
2     |  ip2   | port2     |                |
3     |  ip3   | port3     |                |
4     |  ip4   | port4     |                |
5     |  ip5   | port5     |                |

cronjob을 만들고 일부 서버를 모니터링할 계획인데, 테이블에서 동시에 업데이트하는 방법을 정확히 모르겠습니다.그것을 하는 방법에 대한 몇 가지 예는 무엇입니까?

생략where절:

update mytable set
column1 = value1,
column2 = value2,
-- other column values etc
;

이렇게 하면 모든 행에 동일한 값이 제공됩니다.

이것은 당신이 원하는 것이 아닐 수도 있습니다. 고려해 보십시오.truncate그때의 덩어리insert:

truncate mytable; -- delete all rows efficiently
insert into mytable (column1, column2, ...) values
(row1value1, row1value2, ...), -- row 1
(row2value1, row2value2, ...), -- row 2
-- etc
; 
update mytable set online_status = 'online'

다른 값을 할당하려면 TRANSACTION 기법을 사용해야 합니다.

필드의 기본 null 값은 "not null"입니다.따라서 레코드의 필드 값을 null로 설정하려면 먼저 "null"로 설정해야 합니다.그러면 다음을 수행할 수 있습니다.

UPDATE `myTable` SET `myField` = null
UPDATE dummy SET myfield=1 WHERE id>1;

이와 같은 조건 없이 UPDATE 쿼리를 사용합니다.

 UPDATE tablename SET online_status=0;

이거 한번 해보세요.

UPDATE *tableName* SET *field1* = *your_data*, *field2* = *your_data* ... WHERE 1 = 1;

음, 당신의 경우, 당신이 online_status를 어떤 값으로 업데이트하고 싶다면, 당신은 이것을 시도할 수 있습니다.

UPDATE thisTable SET online_status = 'Online' WHERE 1 = 1;

도움이 되길 바랍니다. :D

매개 변수를 쉼표로 구분하여 추가하기만 하면 됩니다.

UPDATE tablename SET column1 = "value1", column2 = "value2" ....

링크 참조: MySQL UPDATE

언급URL : https://stackoverflow.com/questions/6993376/how-to-update-all-mysql-table-rows-at-the-same-time

반응형