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

合肥公司企业网站建设pc网站开发

合肥公司企业网站建设,pc网站开发,wordpress页面关联目录,无锡企业制作网站目录 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/90909/

相关文章:

  • 徐汇建设机械网站重庆美邦建网站
  • 网页设计与网站建设论述题怎么用本机ip做网站
  • 景点网站怎么做wordpress 链接微博
  • 哪个网站可以接加工单58企业名录企业黄页
  • 旅游电子商务网站开发工信部备案
  • 网站备案 新网Wordpress批量更新软件
  • 网站后台可以做两个管理系统么crm销售管理
  • 烟台网站开发制作呼和浩特公司网页设计
  • 学网站开发要什么基础网页美工案例教程
  • 哪里有做网站服务商佛山网站建设公司经营范围
  • 第一页网站SEOWordPress完全删除
  • 网站添加新关键词建立网站的公司平台
  • 成都工信部网站wordpress 插件 扫描
  • 企业网站的页面特点做网站上的在线支付怎么做
  • 石家庄网站建站推广烟台产品网站建设
  • 网站自己做流量游戏外包公司
  • 怎么做网站的需求温州公司网站开发
  • 网站开发 flex手机网站推广
  • 江西的赣州网站建设海口网红店
  • 阿里巴巴国际网站怎么做网站制作软件小学
  • 网站开发答辩知识点东莞地铁app
  • 企业公司网站建设公司yzipi主题wordpress
  • ps如何做网站导航图上海百姓网免费发布信息网
  • 网站备案号查电话号码万网域名注册步骤
  • 餐饮品牌设计网站建设网站建设的域名和空间价位
  • 做建设网站的活的兼职制作app的软件手机版
  • 那里可以免费建网站网站建设浩森宇特
  • 做电子商务网站多少钱百杭网络推广公司
  • WordPress代码实现标签页面西安企业seo
  • 有哪些做西点及烘焙的网站php网站上传