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

MySQL mengatur id default UUID

MySQL 5.7, 8.0.12 dan yang lebih lama

MySQL pada 5.7 atau 8.0.12 tidak mendukung penggunaan fungsi atau ekspresi sebagai nilai default kolom.

https://dev.mysql.com/doc /refman/5.7/en/data-type-defaults.html

Alternatifnya adalah menggunakan pemicu untuk memantau BEFORE INSERT dari tabel yang diinginkan.

DELIMITER ;;
CREATE TRIGGER `foo_before_insert` 
BEFORE INSERT ON `foo` FOR EACH ROW 
BEGIN
  IF new.id IS NULL THEN
    SET new.id = uuid();
  END IF;
END;;
DELIMITER ;

Ini akan mengubah nilai default dari INSERT pernyataan ke uuid() nilai, kecuali jika telah didefinisikan secara eksplisit.

MySQL 8.0.13 dan yang lebih baru

Dengan rilis MySQL 8.0.13 ekspresi sekarang dapat digunakan sebagai nilai default, asalkan diapit dalam tanda kurung.

Contoh db<>biola

https://dev.mysql.com/doc /refman/8.0/en/data-type-defaults.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih nilai numerik terdekat dengan kueri MySQL

  2. Melakukan Perhitungan dalam Nilai MySQL Default

  3. Tiba-tiba mencapai batas memori PHP dengan satu permintaan PDO?

  4. Database MySQL untuk menyimpan produk, warna, ukuran dan stok

  5. Tetapkan prioritas antara proses mysql