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

Apakah ada cara untuk membuat pemicu secara otomatis saat membuat tabel baru di MySQL?

Seperti yang saya tunjukkan di pertanyaan Anda yang lain , Saya pikir proses dan tinjauan keamanan dilakukan di sini. Ini adalah basis data yang diaudit, jadi tidak ada seorang pun (terutama penyedia layanan pihak ketiga) harus membuat tabel di database Anda tanpa sepengetahuan Anda .

Masalah yang Anda miliki adalah, selain tabel baru yang dibuat, Anda juga perlu membuat tabel lain untuk menyimpan catatan yang diaudit/diubah, yang akan memiliki struktur yang identik dengan tabel asli dengan kemungkinan waktu/tanggal dan kolom pengguna. Jika penyedia pihak ketiga membuat tabel ini, mereka tidak akan tahu cara membuat tabel audit, oleh karena itu meskipun Anda dapat membuat pemicu secara dinamis, mereka tidak akan berfungsi.

Tidak mungkin membuat satu tabel yang akan menampung semua catatan perubahan untuk semua tabel lain di database Anda karena struktur antar tabel pasti berbeda.

Oleh karena itu:buat semua permintaan perubahan (mis. penyedia ingin membuat TableX, mereka mengirimkan permintaan perubahan (termasuk skrip SQL) yang menjelaskan alasan perubahan) kepada diri Anda dan/atau tim Anda.

Anda menjalankan SQL pada salinan uji database Anda, dan menggunakan struktur yang sama untuk membuat tabel lain untuk menyimpan catatan yang dimodifikasi.

Anda kemudian membuat dan menguji pemicu yang diperlukan, membuat skrip SQL baru untuk membuat dua tabel dan pemicu Anda dan menjalankannya di database langsung Anda. Anda memberikan izin kepada penyedia Anda untuk menggunakan tabel baru dan meninggalkannya.

Semua orang senang. Ya, mungkin perlu sedikit lebih lama, dan ya, Anda akan memiliki lebih banyak pekerjaan yang harus dilakukan, tetapi itu adalah pekerjaan yang jauh lebih sedikit daripada yang diperlukan untuk mencoba dan mengurai log kueri untuk membuat kembali catatan yang telah diubah/ menghapus, atau mengurai log biner dan tetap up-to-date dengan setiap perubahan, dan memodifikasi kode Anda ketika format file log berubah, dll.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat mengambil nilai yang saya inginkan untuk Pilih menggunakan Prosedur Tersimpan

  2. Struktur Keranjang Belanja MySQL

  3. cara memutar audio mp3 yang disimpan di mysql blob menggunakan php

  4. laravel mencari beberapa kata yang dipisahkan oleh spasi

  5. Daftar Penentu Format Tanggal di MySQL