最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

關于tag標簽系統(tǒng)的實現(xiàn)

來源:懂視網 責編:小采 時間:2020-11-09 07:47:48
文檔

關于tag標簽系統(tǒng)的實現(xiàn)

關于tag標簽系統(tǒng)的實現(xiàn):實驗室的項目,需要做對用戶發(fā)布的主題進行打標簽的功能,糾結甚久,實現(xiàn)思路如下: 一、數(shù)據庫表的設計 1.tag表 create table qa_tag(tag_id int primary key auto_increment,tag_name varchar(32) not null,tag_time t
推薦度:
導讀關于tag標簽系統(tǒng)的實現(xiàn):實驗室的項目,需要做對用戶發(fā)布的主題進行打標簽的功能,糾結甚久,實現(xiàn)思路如下: 一、數(shù)據庫表的設計 1.tag表 create table qa_tag(tag_id int primary key auto_increment,tag_name varchar(32) not null,tag_time t

實驗室的項目,需要做對用戶發(fā)布的主題進行打標簽的功能,糾結甚久,實現(xiàn)思路如下: 一、數(shù)據庫表的設計 1.tag表 create table qa_tag(tag_id int primary key auto_increment,tag_name varchar(32) not null,tag_time timestamp not null default CURRENT_T

實驗室的項目,需要做對用戶發(fā)布的主題進行打標簽的功能,糾結甚久,實現(xiàn)思路如下:

一、數(shù)據庫表的設計

1.tag表

create table qa_tag
(
tag_id int primary key auto_increment,
tag_name varchar(32) not null,
tag_time timestamp not null default CURRENT_TIMESTAMP,
refered_cnt int not null default 0,
user_id int not null,
unique (tag_name),
constraint foreign key (user_id) references user_info(user_id)
);

2.topic表 
create table qa_topic
(
topic_id int primary key auto_increment,
topic_title varchar(128) not null,
topic_body text not null,
topic_time timestamp not null default CURRENT_TIMESTAMP,
user_id int not null,
tags varchar(128) not null default ''
);
3.tag與topic的映射表

create table qa_tag_topic
(
record_id int primary key auto_increment,
tag_id int not null,
topic_id int not null,
constraint foreign key (tag_id) references qa_tag(tag_id),
constraint foreign key (topic_id) references qa_topic(topic_id)
);

二、邏輯實現(xiàn)

1.用戶創(chuàng)建主題時,給自己發(fā)布的主題打上了幾個標簽,點擊提交

2.后臺接受參數(shù)后,先把數(shù)據插入到qa_topic表中,獲得了topicId;

3.把用戶輸入的標簽轉成數(shù)組,批量插入到數(shù)據庫中,sql代碼如下:


	 insert into qa_tag(tag_name,user_id) values
	 
	 (#{o.tagName},#{o.userId}) 
	 
	 ON DUPLICATE KEY UPDATE refered_cnt = refered_cnt + 1;//如果有重復,則把tag的被引用數(shù)目+1
	 alter table qa_tag auto_increment = 1//保證tagId的連續(xù)性

4. 根據標簽數(shù)組,查詢插入后,這些標簽的tagId(返回一個鏈表):


5.然后,把tagId和topicId批量插入到qa_tag_topic:


insert ignore into qa_tag_topic(tag_id,topic_id) values

(#{o.tagId},#{o.topicId})


6.把topicId返回即可。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

關于tag標簽系統(tǒng)的實現(xiàn)

關于tag標簽系統(tǒng)的實現(xiàn):實驗室的項目,需要做對用戶發(fā)布的主題進行打標簽的功能,糾結甚久,實現(xiàn)思路如下: 一、數(shù)據庫表的設計 1.tag表 create table qa_tag(tag_id int primary key auto_increment,tag_name varchar(32) not null,tag_time t
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top