質問: 1ここで... > ^ > ヒント:指定された名前と引数の型に一致する演算子がありません。明示的な型キャストを追加する必要があるかもしれません。 > > ``` >
回答: `| =` の代わりに `role_bitmask = role_bitmask | = 1` の代わりに `role_bitmask = role_bitmask | 1` `|` とは何ですか? 明確にするために:PostgreSQLには多くの演算子があり、新しい演算子を定義することができます。しかし、あなたの場合、これは2つの理由で重要ではありません: * The manual for UPDATE says about the syntax (abbreviated): `UPDATE ... table ... SET column = { expression | DEFAULT }`. This means, that the `=` is mandatory and *not* any of the normal operators. Therefore there is no `|=` and no `&=` . * Among all those extensible operators there is no assignment operator. Assignment is handled in a special way for each case. Have a look at this question for some hints. あなたの質問について: `role_bitmask = role_bitmask | = 1` のような表現は、すべての言語で眉を浮かべます:-) **Summary**: You have to use the long form `... SET column = colum | bitmask`.