文章詳情頁
關于設計mysql中一個字段自增的函數。
瀏覽:206日期: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. spring-mvc - spring-session-redis HttpSessionListener失效2. html5和Flash對抗是什么情況?3. 運行python程序時出現“應用程序發生異?!钡膬却驽e誤?4. javascript - QQ第三方登錄的問題5. node.js - mongodb查找子對象的名稱為某個值的對象的方法6. 測試自動化html元素選擇器元素ID或DataAttribute [關閉]7. 在mac下出現了兩個docker環境8. 利用IPMI遠程安裝centos報錯!9. javascript - 在 model里定義的 引用表模型時,model為undefined。10. 淺談Vue使用Cascader級聯選擇器數據回顯中的坑
排行榜

網公網安備