1
我使用帶有phpmyadmin 3.2.4的XAMMP - mySQL 5.1.41。無法在mysql上創建觸發器
我創建MySQL中的表,我想創建一個tbl_users觸發器,但MySQL的說明這個錯誤:
#1064 - 你有一個錯誤的SQL語法;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊 'FROM TBL_USERS ON TBL_USERS FOR INSERT AS IF(SELECT COUNT(*),其中username IN' 在1號線
CREATE TABLE TBL_USERS
(
ID INT NOT NULL AUTO_INCREMENT,
USERNAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(50) NOT NULL,
EMAIL VARCHAR(100) NOT NULL,
STATUS INT DEFAULT 1,
TYPE_USER INT DEFAULT 1,
DISPLAY_NAME VARCHAR(50) NULL,
CONSTRAINT PK_USERS PRIMARY KEY (ID),
CONSTRAINT UN_USERNAME UNIQUE(USERNAME)
)
觸發:
CREATE TRIGGER CHECK_USERNAME ON TBL_USERS FOR INSERT
AS
IF(SELECT COUNT(*) FROM TBL_USERS WHERE USERNAME IN (SELECT USERNAME FROM inserted))>1
BEGIN
PRINT 'THIS USERNAME IS EXISTS'
ROLLBACK TRANSACTION
END
我用這個特里格呃在SQL Server 2008中,它運行成功。 –