我 现在有一个表user,字段有自增uid,username,suid。 现在执行insert into user(username)values('1111').现在我想要的是一个触发器 是在插入的时候执行
suid=这个插入的自增uid。delimiter $
CREATE TRIGGER update_user_suid
AFTER INSERT on user
for each ROW
BEGIN
declare lastid int;
select last_insert_id() into lastid;
set suid = lastid where uid = lastid;
end $我是这样写的 但是会报Unknown system variable 'uid'的错误。
suid=这个插入的自增uid。delimiter $
CREATE TRIGGER update_user_suid
AFTER INSERT on user
for each ROW
BEGIN
declare lastid int;
select last_insert_id() into lastid;
set suid = lastid where uid = lastid;
end $我是这样写的 但是会报Unknown system variable 'uid'的错误。
解决方案 »
- mysql 用户表 分成多个 表 以后 怎样 新增 查询 用户 好友
- 多张表,计算出他们 每个表 的数据量, 就一条SQL , 怎么写?
- 求SQL:计算timestamp为20分钟内的数据的平均值
- MYSQL函数问题!急啊。。。急啊。。。。
- 请教FOUND_ROWS()新特性
- 求助高手,一个SQL语句的写法。(急急急,明天要考试了。高手帮帮忙)
- 在线等待,一个初级问题?
- sql字符串替换求助
- mysql ERROR 1045 (28000): Access denied for user无法解决
- Mysql AVG函数 与手动sum 再除 count求出的平均值不一致问题
- 大神们 看过来! java程序连接mysql读取不了值为'1'或者'x'这种值 求解答
- mysql的group_concat函数问题
CREATE TRIGGER update_user_suid
AFTER INSERT on user
for each ROW
BEGIN
set new.suid=last_insert_id();
end $
报Updating of NEW row is not allowed in after trigger 这个错误~
CREATE TRIGGER update_user_suid
before INSERT on user
for each ROW
BEGIN
set new.suid=last_insert_id();
end $
set new.suid=last_insert_id();
delimiter $
CREATE TRIGGER a
before INSERT on table
for each ROW
BEGIN
DECLARE maxid int;
SELECT max(id) into maxid from table;
if new.suid = '' then
set new.suid = maxid+1;
end if;
end $
这样能实现。