Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kapan stempel waktu (otomatis) diperbarui?

Beri perintah SHOW CREATE TABLE whatever

Kemudian lihat definisi tabel .

Mungkin memiliki garis seperti ini

logtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

di dalamnya. DEFAULT CURRENT_TIMESTAMP berarti bahwa setiap INSERT tanpa pengaturan cap waktu yang eksplisit menggunakan waktu saat ini. Demikian juga, ON UPDATE CURRENT_TIMESTAMP berarti bahwa pembaruan apa pun tanpa stempel waktu eksplisit menghasilkan pembaruan ke nilai stempel waktu saat ini.

Anda dapat mengontrol perilaku default ini saat membuat tabel Anda.

Atau, jika kolom stempel waktu tidak dibuat dengan benar sejak awal, Anda dapat mengubahnya.

ALTER TABLE whatevertable
     CHANGE whatevercolumn 
            whatevercolumn TIMESTAMP NOT NULL
                           DEFAULT CURRENT_TIMESTAMP 
                           ON UPDATE CURRENT_TIMESTAMP;

Ini akan menyebabkan operasi INSERT dan UPDATE pada tabel secara otomatis memperbarui kolom stempel waktu Anda. Jika Anda ingin memperbarui whatevertable tanpa mengubah stempel waktu, yaitu,

maka Anda perlu mengeluarkan pembaruan semacam ini.

UPDATE whatevertable
   SET something = 'newvalue',
       whatevercolumn = whatevercolumn
 WHERE someindex = 'indexvalue'

Ini berfungsi dengan TIMESTAMP dan DATETIME kolom. (Sebelum MySQL versi 5.6.5 hanya bekerja dengan TIMESTAMP s) Saat Anda menggunakan TIMESTAMP s, zona waktu diperhitungkan:pada mesin server yang dikonfigurasi dengan benar, nilai-nilai tersebut selalu disimpan dalam UTC dan diterjemahkan ke waktu lokal setelah pengambilan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kinerja MySQL:Mengidentifikasi Pertanyaan Panjang

  2. Bagaimana melakukan banyak kueri ke SQL

  3. mysqldump - Ekspor struktur saja tanpa peningkatan otomatis

  4. Permintaan dengan banyak suka

  5. MySQL Anda menggunakan mode pembaruan aman dan Anda mencoba memperbarui tabel tanpa WHERE