问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Mysql数据库设计问题

发布网友 发布时间:2022-04-24 18:03

我来回答

3个回答

热心网友 时间:2022-04-09 23:31

同一发表人不能发表同样标题的新闻--应该是发表人账号+标题一起加组合唯一才对。

简单说就是复合主键。
这种描述其实就是业务需求,可能会变得的,常见做法是放在业务层判断,而不是数据库层。
考虑到以后的扩充,建议还是定义一个无意义的字段做主键,比如流水号,以后业务修改了,你不用改数据库结构。追问联合主键能解决么?脑子乱了什么都想不出来,我也想过联合主键,但没试过,请赐教

追答很简单,删除原来的主键,重新设置联合主键就行了,改动比较小。

有冲突的数据就先处理一下。
重新建表的话,大概是这样:
create table test(
id1 smallint(3) not null,
id2 smallint(4) not null,
name varchar(30) not null,
address varchar(60) not null,
primary key (id1,id2)--这一行
);
修改的话,
ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY (id1,id2);

热心网友 时间:2022-04-10 00:49

结合程序判断

首先当你发表新闻时,先检查下 该发表人下 同一标题的新闻是否有发表过,
select 新闻标题 from 新闻表 where 发表人账号 = '指定的账号'

然后 根据返回的记录集 ,程序判断是否有符合条件的新闻标题,如果没有,则发表该条新闻,如果有,提示不能发表该条新闻。
insert into 新闻表 ( id, 标题, 内容, 发表人账号, 日期) value ( null, '标题', '内容', '发表人账号', now() )

热心网友 时间:2022-04-10 02:24

第一、将表分为新闻表(infoid,infoname),用户表(userid,name),新闻和用户对应的关系表(id,infoid,userid)
第二、每一次用户发表文章时都要检索是否在表中存在相同的标题(并且用户id是相同的),如若相同uerid和infoid,则不能发表(标题相同),若过标题不同或userid不同,则可以发表(不同用户发表相同标题文章)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 2015年四月小明上学21天,五月却上学20天,这是因为五月有5个星期( ),5 急需MySql数据库设计规范 mysql千万或者上亿的数据怎么设计数据库 MySQL数据库表设计,需要建几个表,包括哪些字段? MYSQL数据库设计数据类型选择需要注意哪些地方 写入mysql数据库的数据量很大,数据库架构该怎么去设计? mysql设计数据库,怎么处理很多字段,是否需分表 2000年五月有5个星期三、4个星期四,这个月的一日是星期几? 一个星期有7天,五月份有31天,五月份有几个星期,还多几天? mysql数据库设计? 五月份有几个星期多几天 mysql数据库怎么按下列需求建表,建几张表合适? 数学教学方法有哪些 5月份有多少天,合多少个星期零几天。 5月有多少个星期六? 三年级数学上册几分之一教学设计 数据库设计(MySQL) 四月上学21天五月上学22天这是因为五月有几个星期几?几个星期几?这个五月有什么节日? 一般空调与微波炉哪个功率大? 1、五月份有31天,一个星期有7天。五月份有几个星期?还多几天?2、如果五月份有5个星期五、5个星 某年的5月1日刚好是星期日.这年的5月有〔 〕个星期日 mysql数据库设计问题,数据量千万级 五月什么星坐 五月生日是什么星 五月是什么星 如甲大5月份有5个星期一5个星二和5个星期三那么5月1日是星期几? 五月底是不是宇宙有星相变化《九株连星》对地球很大危害? 水瓶座在2020年的五月十六有多少个幸运星? show me green这个英语是什么意思? showmegreen意思? show me green的意思是什么? SHOW ME GREEN 是什么意思 英语句子show me red 翻译成汉语是什么意思? showmerreen汉语是什么意思 我的dell笔记本电脑开机的时候出现蓝屏,代码0x0000007b,进入安全模式也开不了,怎么办? show me green这是什么意思呀‘! 戴尔n4050出现0X0000007B蓝屏是什么原因 戴尔e5410蓝屏代码0x00000007b怎么进入bios设置硬盘? show me green. 戴尔蓝屏0x000007b开不了机,怎么办?