> 백엔드 개발 > PHP 튜토리얼 > 请教怎样批量更新表值

请教怎样批量更新表值

WBOY
풀어 주다: 2016-06-13 13:08:20
원래의
862명이 탐색했습니다.

请问怎样批量更新表值
现在我有一个数据表,其中有一个字段是type。数据表中有N条信息,
我希望更改 type的值,条件是根据不同的classid来更改。
但是现在又多组条件对应的多组type值
比如当class=1时,type=rass
class=8时,type=bbcc


还有多组这样的情况,请问怎样一次性一一对应的更新完所有的type。

我自己没办法了,刚学,我能想到的就是update table set type=相应值 where class=相应值

------解决方案--------------------
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 


http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#operator_case

------解决方案--------------------
你的数据库不符合第三范式,建议分解:新建(class,type),将type从原表中去除。
------解决方案--------------------
SQL中where查询符合条件的,然后更新
------解决方案--------------------
如果你的class和type对应关系没有规律的话,就不要用if,else或case when then来写了,不然得写多长?

你单独建立一个表,把class和type的对应关系存进去,更新表的时候与这个表做下联查

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿