关于设计mysql中一个字段自增的函数。
世界只因有你
世界只因有你 2017-06-28 09:23:38
[MySQL讨论组]

我有一个简单的表,有三个字段,tag_id,user_id,user_tag_id,我想当我插入一条记录(插入已知的tag_id和user_id)时,user_tag_id要在user_id=当前插入的user_id的条件下的自增1,这个怎么实现,是要写mysql的自定义函数么?

世界只因有你
世界只因有你

全部回复(2)
某草草
DELIMITER $$
DROP TRIGGER IF EXISTS after_insert_table $$
CREATE TRIGGER after_insert_table
AFTER INSERT on table
FOR EACH ROW
BEGIN
  update table t set t.user_tag_id = t.user_tag_id+1 where t.user_id=new.user_id ;
END $$
DELIMITER ;
欧阳克

如果只是新插入的记录中user_tag_id加1,可以分成两个sql语句:

首先计算user_id对应user_tag_id的最大值

select max(user_tag_id) + 1 from t1 where user_id = :user_id

然后把上个语句的返回值,放到insert语句中就可以了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号