Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL ustaw domyślny identyfikator UUID

MySQL 5.7, 8.0.12 i starsze

MySQL w wersji 5.7 lub 8.0.12 nie obsługuje używania funkcji lub wyrażenia jako domyślnej wartości kolumny.

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

Alternatywą byłoby użycie wyzwalacza do monitorowania BEFORE INSERT żądanej tabeli.

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 ;

Zmieni to domyślną wartość INSERT oświadczenie do uuid() wartość, chyba że została wyraźnie zdefiniowana.

MySQL 8.0.13 i nowsze

Z wydanie MySQL 8.0.13 wyrażenie może być teraz używane jako wartość domyślna, pod warunkiem, że jest ujęte w nawiasy.

Przykład db<>skrzypce

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. DOŁĄCZ do GROUP BY w znormalizowanej bazie danych o zasobach, tematach i rozdziałach

  2. HQL umożliwia wyszukiwanie zapytań według daty (Java+NetBeans)

  3. SQLSTATE[HY000]:Błąd ogólny:1298 Nieznana lub niepoprawna strefa czasowa:okna „UTC”

  4. wstawia kontakty do bazy danych, ale nie chce duplikować już istniejącego kontaktu

  5. obsługa mysql w php 7