私のテーブルのステータスカラムを更新したいが、メッセージの日付カラムも更新されている。ステータス欄のみを日付フィールドなしで更新するにはどうすればよいですか?他のデータを変更する場合、日付を変更しないでください。
データ型:
Status => Varchar
messgae_date => Timestamp
問合せ:
"UPDATE mytable SET status='1' WHERE status='0'"
感謝の前に...
私のテーブルのステータスカラムを更新したいが、メッセージの日付カラムも更新されている。ステータス欄のみを日付フィールドなしで更新するにはどうすればよいですか?他のデータを変更する場合、日付を変更しないでください。
データ型:
Status => Varchar
messgae_date => Timestamp
問合せ:
"UPDATE mytable SET status='1' WHERE status='0'"
感謝の前に...
あなたの質問を編集して、テーブルを作成するための全体のDDL文を投稿してください。私はそれが明らかになると信じています。
あなたの投稿によると、message_dateはタイムスタンプです。これはMySqlとMariaDbの特別なデータ型で、挿入時に自動的に更新されたり、行内の他のデータが変更されたりするたびに更新されます。
行の他の列の値を現在の値から を変化させた場合、自動更新された列は、自動的に現在 タイムスタンプに更新されます。 他のすべての列が現在の値に設定されている場合、自動更新列は変更されません。他の列が変更されたときに 自動更新列が更新されないようにするには、 を明示的に現在の値に設定します。自動更新された 列を更新するには、他の列が変更されない場合でも、明示的に値を に設定します(たとえば、CURRENT_TIMESTAMPに設定します)。
また、DDLステートメントを掲示してください。 message_date列はおそらくこのようになります。
`message_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
本当にトリガーは発生していませんか?あなたが投稿したものはそれをしません。 –
私はトリガーを使用しません – Aditya
@Aditya - 'mytable'は' update'トリガーを持っていますか? –