- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最初主键是
(caseId,osName)
+--------------------+---------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+-------------------+-------+
| createdBy | varchar(200) | NO | | NULL | |
| createdOn | timestamp | NO | | CURRENT_TIMESTAMP | |
| osName | varchar(200) | NO | | NULL | |
| caseId | varchar(100) | NO | MUL | NULL | |
| issueType | varchar(100) | NO | | NULL | |
| observationState | varchar(60) | YES | | NULL | |
| problemSolving | int(11) | NO | | NULL | |
| structure | int(11) | NO | | NULL | |
| logicalTransition | int(11) | NO | | NULL | |
| ownership | int(11) | NO | | NULL | |
| expectationSetting | int(11) | NO | | NULL | |
| empathy | int(11) | NO | | NULL | |
| valueAdd | int(11) | NO | | NULL | |
| comments | varchar(2000) | NO | | NULL | |
| version | int(11) | YES | | 0 | |
| showcase_escalate | varchar(30) | YES | | NULL | |
| ringback_state | varchar(200) | YES | | NULL | |
| trt_state | varchar(200) | YES | | NULL | |
| srp_state | varchar(200) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
+--------------------+---------------+------+-----+-------------------+-------+
在上面的架构中,id
是AUTO INCREMENT
。我删除了它,这样我就可以制作 caseId as PRIMARY KEY
。但由于有多个记录具有相同的 caseId,我无法进行更改。
最后我只想把 caseId 作为我的主键。
最初主键是 (caseId,osName)。
最佳答案
如 MySQL Glossary 中所定义:
primary key
A set of columns -- and by implication, the index based on this set of columns -- that can uniquely identify every row in a table. As such, it must be a unique index that does not contain any
NULL
values.InnoDB requires that every table has such an index (also called the clustered index or cluster index), and organizes the table storage based on the column values of the primary key.
When choosing primary key values, consider using arbitrary values (a synthetic key) rather than relying on values derived from some other source (a natural key).
See Also clustered index, index, natural key, synthetic key.
由于您有多条记录的 caseId
值相同,因此仅 caseId
无法“唯一地标识表中的每一行”;因此 caseId
单独不能成为PRIMARY KEY
。
关于mysql - 需要将MUL key 更改为PRI key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29241939/
调用pry 和调用binding.pry 有什么区别?例如: require 'pry' class Bookshop def initialize(book) @books = []
如果遇到异常(例如,如果您只是在脚本末尾放置一个 undefined variable “x”),Pry 会进入交互模式。 (此外,如果在脚本本身内您需要'pry' 并将binding.pry 放在您
我正在尝试自定义我的 Pry(使用 Pry 有一段时间了,但这是我第一次尝试创建命令。)我想创建一个自定义命令,它将获取最后五十个项目根据我的历史,我正在构建它: Pry::Commands.bloc
pry gem 和 pry-rails gem 有什么区别(在实现方面)? 最佳答案 比较它们的实现没有意义,因为它们是两个不同的东西:一个 IRb 替代品和一个使前者成为 Rails 控制台的插件。
我正在使用 pry-byebug 并且想这样写: 3.times do |i| next if i == 2 p i end 但这失败并出现错误: [1] pry(main)* next
每当我在命令行中输入 pry 时,它都会打开并显示此错误。 terminal$ pry NameError: uninitialized constant Pry::BondCompl
我正在尝试调试一个简单的 ruby 控制台脚本,但在尝试要求 pry 时出现加载错误: 我正在使用 rbenv 来管理环境。 我使用的是 Ruby 版本:2.3.1. 尝试使用 Pry '~> 0
为什么我会收到此 pry 动错误? [36] pry(main)> s = "pry" Error: Cannot find local context. Did you use `binding.p
当一个在rails-application文件夹中时,为什么不一样 $demo_app> pry -r ./config/environment 来自 $demo_app> pry -r config
我正在将我的应用程序的最新版本上传到 Windows 商店,但我的应用程序抛出错误: Package acceptance validation error: We encountered a fat
需要 pry在我的 RSpec spec_helper.rb运行我的规范给了我一堆警告。我该如何摆脱这些? /Library/Ruby/Gems/2.0.0/gems/pry-0.10.0/lib/p
我有 qt 项目 proj1,它依赖于另一个 (proj2)。 目录树是这样的: common/ `--/pr1/ proj1.pri ma
我是 Elixir 的新手,但玩得很开心! 我来自 Ruby 世界,所以开始寻找类比。并且存在调试工具pry。使用 binding.pry 我可以中断任何 session 。我在 Elixir 中发现
我从理解计算 一书中获得了以下代码。目的是改变 inspect 行为。 class Number >" end def to_s value.to_s end end 当我使用 i
当我在 pry 中使用 Tempfile 类时,我没有使用 require 它。 % pry -f pry(main)> Tempfile Tempfile 但是当在 irb 中时,我必须首先要求
我的工作站: $ uname -a Linux dsktop 3.13.0-77-generic #121-Ubuntu SMP Wed Jan 20 10:50:42 UTC 2016 x86_64
我把 binding.pry 放在我的脚本中, 但是现在当它停在断点处时, 是向我显示该信息。 出乎我的意料,如何解决? 帧数:0/11 From: /Users/me/.rbenv/versions
在 Rails 中使用 Pry,当我在代码中遇到断点时 绑定(bind).pry 我想知道我是怎么到这里的,谁给我打电话,谁给他们打电话等等。但奇怪的是我没有看到那个命令。有人知道吗? 最佳答案 要在
我想使用 IEx.pry 在我的 elixir 代码中一步一步地进行,比如 ruby 中的 byebug 或 Java 中的调试点。我尝试查看此处的文档:https://github.com/el
qmake 的*.pro 和*.pri 配置文件有什么区别? *.pro 文件中应包含哪些内容,*.pri 文件中应包含哪些内容? 最佳答案 它们的目标重用之间有一个主要区别: .pro 这通常称为项
我是一名优秀的程序员,十分优秀!