0
我想在每次有INSERT事件時主鍵都是自動生成的UUID。但問題是,當我試圖執行一個INSERT查詢跳過主鍵列是這樣的:主鍵UUID觸發器
INSERT INTO `tablename` (`reference`) VALUES ('hey');
沒有行插入並沒有錯誤。只是「0行插入...」 這是我的表和觸發器。謝謝。
CREATE TABLE `tablename` (
`uuid` char(36) NULL,
`reference` varchar(100) NOT NULL,
PRIMARY KEY (uuid)
);
DELIMITER ;;
CREATE TRIGGER before_insert_tablename
BEFORE INSERT ON tablename
FOR EACH ROW
BEGIN
IF new.uuid IS NULL THEN
SET new.uuid = uuid();
END IF;
END
;;
DELIMITER ;
我無法相信我錯過了這一個。但是當我將它設置爲「NOT NULL」時,它沒有改變任何東西。然後我認爲我的觸發條件檢查'如果new.uuid IS NULL THEN'。我將它改爲檢查它是否爲空或空字符串的東西。 '如果new.uuid是空值或new.uuid =''THEN',它的工作原理!謝謝你讓我意識到。 – legitghost
不客氣;)@Ghost – wajeeh