-1

sun、、、などmonの7列のテーブルがあるとしますtue...

すべてが 0 の行があり、を使用して列を更新する必要がありますdayofWeek(now())

sun=1関数が1 をmon=1返す場合、関数が 2 を返す場合などを更新する必要があります。

4

1 に答える 1

2

次のようなクエリを使用できます。

UPDATE yourtable
SET
  sun=(dayofWeek(now()) = 1),
  mon=(dayofWeek(now()) = 2),
  tue=(dayofWeek(now()) = 3),
  ...
WHERE
  id=something

ここでフィドルを参照してください。

実際の値を変更したくない場合は、次のようなものを使用できます。

UPDATE yourtable
SET
  sun=CASE WHEN dayofWeek(now()) = 1 THEN 1 ELSE sun END,
  mon=CASE WHEN dayofWeek(now()) = 2 THEN 1 ELSE mon END,
  tue=CASE WHEN dayofWeek(now()) = 3 THEN 1 ELSE tue END,
  ...
于 2013-06-20T15:24:34.667 に答える