当前位置: 首页 > news >正文

我的专业网站建设策划书如何创建小程序

我的专业网站建设策划书,如何创建小程序,营销系统app,弹幕网站是怎么做的目录 floor报错原理 唯一性约束 主键约束: 创建约束的形式 删除约束 删除唯一性约束(UNIQUE Constraint) 在SQL Server中: 在MySQL中: 在PostgreSQL中: 删除主键约束: floor报错原理 …

目录

floor报错原理

唯一性约束

主键约束:

创建约束的形式

删除约束

删除唯一性约束(UNIQUE Constraint)

在SQL Server中:

在MySQL中:

在PostgreSQL中:

删除主键约束:


floor报错原理

floor报错能使用的根本前提:该表定义了唯一性约束(下述会深入了解唯一性约束)

主要原因主键冲突

原因分析:floor(rand(0)*2)会生成多个结果 as 为 a, a 又被group by 当做分组的基准,当查询附加count(*),是因为尽管在这个场景下不是用来计算记录数量,但它是SQL查询的一部分,且由于group by的作用,会创建临时表并尝试基于不合法的分组条件来计数,进而引发数据库内部错误。同时在没有明确指定的列上进行分组时,数据库系统在内部创建临时表并尝试插入分组的结果,而基于floor (rand(0)*2)的分组可能导致多个记录落入相同的分组ID,从而违反了表的唯一性束缚,最终导致主键冲突.

唯一性约束

唯一性约束:在数据库管理系统中用于确保一个或一组列(字段)中的数据具有唯一性的规则。它限制了在指定列上插入重复值的行为,即在该列(或列集合)中,任何两行记录都不能有完全相同的值。

具体讲述唯一性约束:

单列唯一性约束:当一个列被定义唯一性约束时,该列中,任意两个字段的值都不能相同,NULL值也不例外;

组合列唯一性约束:单列之间的值可以相同,但是列与列之间任意一行中的值都不能相同

作用

防止数据冗余和数据的错误输入

除了主键之外提供另一种标识记录的方式,特别适用于那些不是主要标识符但是需要保证其唯一性的场景。

主键约束:

主键约束是一种特殊的唯一性约束,也是主键固有的特性,当某列在被定义为主键的同时,该列就已经有了主键约束,他不仅要求一列或者多列(考虑到联合主键)的值不能相同,而且其中不能有NULL值,一个表中只允许有一个主键,但是可以有多个唯一性约束

创建约束的形式

CREATE TABLE Users (UserID INT PRIMARY KEY,  -- 定义主键Username VARCHAR(50) NOT NULL,Email VARCHAR(100),UNIQUE (Username),   -- 单列唯一性约束UNIQUE (Email)       -- 单列唯一性约束
);-- 或者针对组合列的唯一性约束
CREATE TABLE Orders (OrderID INT PRIMARY KEY,ProductID INT,UserID INT,Quantity INT,UNIQUE (ProductID, UserID)  -- 组合列唯一性约束
);

删除约束

删除表的唯一性约束和主键约束的过程类似于删除单一约束,以下是不同数据库系统中进行这些操作的一般示例:

删除唯一性约束(UNIQUE Constraint)

在SQL Server中:
-- 假设唯一性约束名为 'UQ_YourColumn'ALTER TABLE YourTable DROP CONSTRAINT UQ_YourColumn;如果不知道唯一性约束的具体名称,可以先查询:SELECT name FROM sys.indexes WHERE type = 2 AND object_id = OBJECT_ID(N'YourTable');解释:sys.indexes表中有所有数据库的索引信息,name,即为索引的名称;type=2,即为唯一性约束列的索引;OBJECT_ID(N'YourTable'),可以替换为你要查的那个表。
在MySQL中:
-- 假设唯一性约束是在列 'your_column' 上创建的ALTER TABLE YourTable DROP INDEX your_unique_constraint_name;-- 如果没有显式指定约束名,可能需要找到其默认生成的名称SHOW CREATE TABLE YourTable;-- 查看常见表时赋予给表的具体结构以确定唯一性约束的名称
在PostgreSQL中:
-- 假设唯一性约束的列名为 'your_unique_constraint'ALTER TABLE YourTable DROP CONSTRAINT your_unique_constraint;

删除主键约束:

-- 假设我们的表名为 'YourTable',主键名为 'PK_YourTable' 或者没有显式指定名称时由系统自动生成-- 显式命名的主键约束
ALTER TABLE YourTable
DROP CONSTRAINT PK_YourTable;-- 如果主键约束未命名或不知道具体名称(某些数据库系统如SQL Server)
-- 可能需要先查询主键约束名,然后使用上述方式删除
-- 以下是一个示例查询主键约束名的SQL(MySQL不适用,仅适用于SQL Server或其他支持类似语法的数据库)
SELECT name 
FROM sys.key_constraints 
WHERE type = 'PK' AND parent_object_id = OBJECT_ID('YourTable');-- sys.key_constraints,type='PK' 类比于sys.indexes,type=2,都是固定的。-- 删除未命名主键约束(PostgreSQL示例)
ALTER TABLE YourTable
DROP CONSTRAINT IF EXISTS your_primary_key_constraint_name;-- 在MySQL中删除主键约束(假设主键只有一列,名为 'your_primary_key_column')
ALTER TABLE YourTable
DROP PRIMARY KEY;

http://www.yayakq.cn/news/355337/

相关文章:

  • html5网站抓取建设网站的意义作用是什么
  • 深圳建站公司有推荐的公司吗小程序电商平台排名
  • 网站建设seo策略互联网软件有哪些
  • 福州网站大全个人网站备案怎么做
  • 广州做网站新锐比格设计网站官网
  • 空间站建设乐清网站设计制作
  • 进qq空间上面没有网站长治电商平台网站
  • 帝国cms网站搬家教程ps网页素材
  • 阿里云网站备案要多久厦门外发加工网
  • 备案做电影网站公司网站域名查询
  • 网站内容模板重庆免费建站
  • 接入商 济南网站建设珠宝网站建商台北
  • 河北省建设厅官方网站 官网住房和城乡建设部网站办事大厅
  • 济南外贸网站制作9377游戏盒子
  • 免费个人网站怎么制作东莞建设工程招标网
  • 重庆官方网站查询系统滨州哪里有做网站的
  • 代理国外网站flash是怎么做网站的
  • 做网站的流程是怎么样的对网站建设和维护好学吗
  • 湖州城市投资建设集团网站河南住房和城乡建设厅网站资质
  • 网站做哪家最专业广州建设工程合同司法解释
  • vue做网站的好处重庆市建筑工程
  • 景点网站怎么做如何做自己网站平台
  • 淘宝客网站怎么做推广计划外贸开发产品网站建设
  • html5 服装网站商标注册号怎么申请
  • 淘宝客做网站备注怎么写的wordpress 总页码数
  • 推荐几个好的网站什么网站详情页做的好
  • 网站建设公司如何拓宽业务做羞羞事网站
  • 龙岗做网站公司icxun宁波建网站模板
  • 家具企业网站模板学校官网网站建设的现状分析
  • 展厅效果图网站在线制作图片美图