精华内容
下载资源
问答
  • MySql交换两行记录通过update语句交换两行记录唯一属性现有表student,定义如下。CREATE TABLE `student` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `date` datetime DEFAULT NULL, PRIMARY KEY (`Id`), KEY ...

    MySql通过update语句交换两行记录非唯一的属性

    现有表student,定义如下。

    CREATE TABLE `student` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,
      `date` datetime DEFAULT NULL,
      PRIMARY KEY (`Id`),
      KEY `id_date` (`date`)
    ) ENGINE=InnoDB AUTO_INCREMENT=11002 DEFAULT CHARSET=latin1;
    
    
    Id  date    
    2   2015-08-26 00:20:32
    4   2018-08-26 00:20:32

    现在希望将Id=2,Id=4的两条记录中的date进行交换,接着执行下面的查询。

    SELECT * FROM 
    student AS S1
    JOIN student AS S2 ON
    S1.id = 4 AND S2.Id = 2
    OR 
    S1.id = 2 AND S2.Id = 4;

    执行后得到结果。

    id        date          id1  date1
    4   2016-08-26 00:20:32 2   2015-08-26 00:20:32
    2   2015-08-26 00:20:32 4   2016-08-26 00:20:32

    可以看到要完成交换,只需要将左表和右中的date进行交换,就可以完成两条记录中的date属性值的交换。

    查询mysql 手册update定义。

    UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] …
    [WHERE where_condition]
    [ORDER BY …]
    [LIMIT row_count]

    table_reference table_references and where_condition are specified as
    described in Section 13.2.9, “SELECT Syntax”.

    可以看到table_reference与select中的描述一致,因此在update中可以使用join。

    接着将上面的select 改写为update。

    UPDATE
    student AS S1
    JOIN student AS S2 ON (
    S1.id = 4 AND S2.Id = 2
    OR 
    S1.id = 2 AND S2.Id = 4
    )
    SET S1.date = S2.date;

    执行后id = 2,id = 4的两条记录中的完成交换。

    上述update语句还可以改写为下面的形式。

    UPDATE
    student AS S1
    JOIN student AS S2 ON
    (S1.id = 4 AND S2.Id = 2)
    SET
    S1.date = S2.date,
    S2.date = S1.date;

    注意如果所交换的属性加了唯一索引,那么交换无法完成。

    参考

    1.一条sql交换两行记录http://www.microshell.com/database/sql/swap-values-in-2-rows-sql/

    2.一条sql交换两行记录http://stackoverflow.com/questions/4517219/how-to-update-swap-values-of-two-rows-with-single-query

    3.mysql update语法 https://dev.mysql.com/doc/refman/5.6/en/update.html

    展开全文
  • 健能够唯一区分数据表中的每个记录属性或者属性组合,因此使用健可以保证记录唯一性。 当为表指定primary key 约束时,oricle通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可以...
  • 主关键字(主键,primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在数据库中能够唯一地标识一个记录被称为主键。主键是数据库中具有唯一性的字段,也就是说数据表中的任意两条记录都不...

    主关键字(主键,primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。

    e6a8a1aef1805e5c8e4c3a588e32e836.png

    在数据库中能够唯一地标识一个记录被称为主键。主键是数据库中具有唯一性的字段,也就是说数据表中的任意两条记录都不可能拥有相同的主键字段。(推荐学习:MySQL视频教程)

    在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。

    主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。

    主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

    作用

    1)保证实体的完整性;

    2)加快数据库的操作速度;

    3)在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

    4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

    遵循原则

    建立主键应该遵循的原则

    1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

    2. 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

    注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。

    3. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

    4. 主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

    更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

    展开全文
  • 唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项 1.尝试https://blog.csdn.net/cs6480012/article/details/79110276中替换mimemap 未成功 2.删除iis中mime类型.json ...

    RT
    搭建web网站时遇到500服务器内部错误
    在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项
    1.尝试https://blog.csdn.net/cs6480012/article/details/79110276中替换mimemap




    未成功
    2.删除iis中mime类型.json
    未成功
    3.删除webconf中
    清除chrome历史记录
    成功

    总结:方法1方法3都可生效,关键要清除浏览器缓存。

    展开全文
  • 学完数据库,我们对SQL SERVER 2008中的部分关键字有了大概的了解,下面我来总结一下几个比较重要的关键字:字段、属性、列、记录(元组)、表、主键、外键。 一、字段:某一个事物的一个特征,或者说是属性 在...

    学完数据库,我们对SQL SERVER 2008中的部分关键字有了大概的了解,下面我来总结一下几个比较重要的关键字:字段、属性、列、记录(元组)、表、主键、外键。

    一、字段:某一个事物的一个特征,或者说是属性

    字段

    在我们学vb时,总是用到控件的各种属性,比如name属性、captain属性、width属性等属性。类似,在这里的某一个字段就是对“员工“控件中的属性。

    二、记录(元组):事物特征的组合,可以描述一个具体的事物。

     

    在vb中当我们将一个控件的所有的属性都设置好后,我们就可以对整个控件的样子有个一详细的了解。在数据库中也是这样,当我们在完成一条记录以后,一个员工的详细信息也就清楚了。元组是记录的另个一称呼。

    三、表:记录的组合 表示同一类事物的组合

     

           表,相当于具有相似特征事物的一个集合。如同vb中许多具有具体属性的textbox控件。

    四、列:字段的另一种称谓


    五、元组:记录的另一种称谓

    下面我们再来说一说另一个概念

    六、主键:能唯一标识信息的事物


    在说主键之前,先看上面一个表格,上述格式可以存储信息,但是某一天当出现两个姓名,性别、年龄都相同的张三时,就无法辨别,我们管这种现象叫做冗余,并且这两信息就无法辨别,所以这是就需要设置一个特定的东西来唯一的标识信息。所以我们就用编号来唯一标识员工的信息。那么我们管这个能唯一标识信息的事物叫做主键。即此表格的编号是主键。

    七、外键:一个执行另个一个表的指针

    在讨论外键之前,我们先看看先看看下面的图。

     

    当在员工信息表中在填上部门、部门人数、部门地址等几个属性后。你发现了什么问题。或者说能不能把员工的信息和部门信息放到一起?

    不能!!为什么?因为从前三名可以看出,如果几个人都属于一个部门,那么部门,人数,部门地址信息重复了三次,所以当有大量的人同属一个部门时再次会造成信息冗余。

    现在我们该怎么办呢——看下表:

    对,就是通过将连个信息表分开的方法,你看这样的话,部门信息的输入工作了少多了吧。但是当员工信息和部门信息两个表分开来写时,的确减少的信息冗余,但是如何建立关系呢?这时我们可以通过部门编号建立关系,此时的“部门编号”就是“员工信息”表(不是“部门信息”表)的关系链——外键。(注意在两个表分开写后,我们为“部门信息”增加一个主键“部门编号”当然如果不增加的话,部门名称同样可以成为“部门信息”表的主键)

    此时的外键如同指向“部门信息”表中某一具体记录的地址指针(不懂指针的宝宝请暂时飘过),通过员工对应“指针”去部门信息表找对应的部门具体信息。

    展开全文
  • 在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长Null属性NULL属性:代表字段为空如果对应的值为YES表示该字段可以为NULL 注意:1、 在设计表的时候,尽量不要让数据为空2、 Mysql的记录长度...
  • 可以通过hash.hexdigest()生成唯一键,通过唯一键做数据更新,不会插入重复的记录 from hashlib import md5 _id = md5("{};{}".format("属性一","属性二").encode('utf-8')).hexdigest() ...
  • 主键:能够唯一表示一个记录的一个字段或者多个字段的组合 特点: 1.含有主键的表叫做主键表 2.主键通常都是整数,不建议使用字符串当主键(如果主键是用于集群式服务,才可以考虑用字符串当主键) 3.主键的值通常都...
  • 七、属性 八、元组 九、主键 十、外键 零、码仙励志 坚持和放弃,都不会绝对正确。最恨不过一句,逼不得已。最大大不过一句,老子乐意 一、字段 一个事物的某一个特征 二、记录 字段的组合,表示的是一个...
  • 由此可见,使用Android做唯一标识符风险很大,因为他不是真的唯一。 暂用的解决方案可以是,获取到AndroidID后,记录在本地sd卡,记住不能是私有目录,否则卸载app就会被删除了。然后每次都读取文件匹配当前...
  • 属性(或指令)v-show根据条件的 boolean 值来切换元素的 CSS display 属性。相对 v-if 来说v-show 只是针对 display 属性,即该元素会始终被渲染,只是不一定会显示出来。而 v-if 不同,它会根据条件决定是否会被创建...
  • 也就是说:我们来通过这个例子来看看 字段、记录、表 是一个什么东西。我们下面通过存储一个员工的信息,来把这些专业术语都来解释一遍。假设有4个信息:| 员工姓名 | 员工工资 | 员工性别 | 员工年龄 |我们能不能...
  • WPF Property属性

    千次阅读 2015-04-05 16:53:58
    1. 属性的来龙去脉  被封装在类里的变量称为字段,它表示的是类或实例的状态;被封装在类里的函数叫做方法,它表示的是类或实例的功能。字段和类构造出了最原始的面向对象封装,这时候的面向对象中还不包含事件,...
  • ES6之符号与符号属性

    万次阅读 2019-12-16 23:50:02
    引 在 JS 已有的基本类型...在符号诞生之前,将字符串作为属性名称导致属性可以被轻易访问,无论命名规则如何。而“私有名称”意味着开发者可以创建非字符串类型的属性名称,由此可以防止使用常规手段来探查这些名...
  • 获取移动设备唯一标识

    千次阅读 2018-10-12 15:46:26
    前段时间开发中 ,客户提出一个问题就是把用户的登录记录和设备绑定到一起,就是每个人都是固定的设备(可能是安全因素吧)。一开始想的是回去设备的IMEI号和用户账号绑定起来,结果发现华为平板IMEI不对外开发,...
  • 一、讲解 首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字... ... 1、码=超键:能够唯一标识一条记录属性属性集。 标识性:一个数据表的所有记录都具有不同的超键 非空性:...
  • 主码:主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字(也称为候选键)。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段(注释1),也可以由多个字段组成,...
  • vuex与计算属性详解

    千次阅读 2019-04-13 14:07:02
    Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit 提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和 getters。当我们在之后介绍...
  • MySQL数据库唯一性设置(unique index)

    万次阅读 2018-06-12 10:50:28
    比如一个保存学生信息的表里要保证每条记录的学号都不同。这时候就需要对该字段设置唯一性。 设置唯一性后的字段,在数据库层面保证了该字段不会出现相同的值。下面说一下唯一性的设置方法:...
  • 了解ArcEngine中矢量要素的字段及属性结构,了解栅格图像的数据属性属性表 实现右击TOC可以显示数据属性表、删除图层,双击Map可以识别地图属性 2概要 本文只介绍主要功能方法,具体的调用关系、窗口实现可见...
  • 1、码=超键:能够唯一标识一条记录属性属性集。 标识性:一个数据表的所有记录都具有不同的超键 非空性:不能为空 有些时候也把码称作“键”  2、候选键=候选码:能够唯一标识一条记录的最小属性集 标识性:一...
  • 插入时用 insert ignore into (已有相同记录则不添加,不报错) #评论点赞表添加唯一性约束 ALTER TABLE product_comment_praise ADD CONSTRAINT commentId_userId UNIQUE (commentId, userId) 插入时: <...
  • MySql设置唯一标识,主键等设置

    万次阅读 多人点赞 2018-07-23 12:16:34
    //在数据库表中 只有设置一个int类型的字段为主键,才可以设这个字段为标识列,标识列的作用就是一个可以自动增长的数字,如消息id,唯一并且不重复,是消息唯一标识 设置主键 alter table user_score add ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 324,230
精华内容 129,692
关键字:

唯一的记录属性