文章詳情頁
關于設計mysql中一個字段自增的函數。
瀏覽:140日期:2022-06-10 17:40:44
問題描述
我有一個簡單的表,有三個字段,tag_id,user_id,user_tag_id,我想當我插入一條記錄(插入已知的tag_id和user_id)時,user_tag_id要在user_id=當前插入的user_id的條件下的自增1,這個怎么實現,是要寫mysql的自定義函數么?
問題解答
回答1:DELIMITER $$DROP TRIGGER IF EXISTS after_insert_table $$CREATE TRIGGER after_insert_tableAFTER INSERT on tableFOR EACH ROWBEGIN??update table t set t.user_tag_id = t.user_tag_id+1 where t.user_id=new.user_id ;END $$DELIMITER ;回答2:
如果只是新插入的記錄中user_tag_id加1,可以分成兩個sql語句:
首先計算user_id對應user_tag_id的最大值
select max(user_tag_id) + 1 from t1 where user_id = :user_id
然后把上個語句的返回值,放到insert語句中就可以了。
相關文章:
1. mysql優化 - 關于mysql分區2. php laravel框架模型作用域3. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?4. java - Atom中文問題5. java - MySQL中,使用聚合函數+for update會鎖表嗎?6. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應7. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出8. html5 - 如何實現帶陰影的不規則容器?9. css3 - 這個形狀使用CSS怎么寫出來?10. javascript - 為什么這個點擊事件需要點擊兩次才有效果
排行榜
