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中,它运行成功。 –