25 lines
614 B
SQL
25 lines
614 B
SQL
CREATE TABLE users (
|
||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
username VARCHAR(100) NOT NULL,
|
||
first_name VARCHAR(100) NOT NULL,
|
||
last_name VARCHAR(100) NOT NULL,
|
||
email VARCHAR(255) NOT NULL UNIQUE,
|
||
unique_key CHAR(25) NOT NULL UNIQUE,
|
||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- Trigger zur automatischen Generierung eines 25‑stelligen Keys
|
||
DELIMITER $
|
||
|
||
CREATE TRIGGER before_user_insert
|
||
BEFORE INSERT ON users
|
||
FOR EACH ROW
|
||
BEGIN
|
||
SET NEW.unique_key = SUBSTRING(
|
||
REPLACE(UUID(), '-', '')
|
||
-- UUID = 32 Zeichen, wir nehmen 25 davon
|
||
, 1, 25);
|
||
END$
|
||
|
||
DELIMITER ;
|