作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当尝试描述一个表时,我得到一个缺少信息的表(参见第一个表);以类似于第二种的方式更新该表的最佳方法是什么?我的 SQL 背景不太强,所以我很想听听有关如何做到这一点的想法
第一个表(实际上是怎样的)
+-----------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+-------+
| config_id | int(10) unsigned | NO | | 0 | |
| scope | varchar(8) | NO | | default | |
| scope_id | int(11) | NO | | 0 | |
| path | varchar(255) | NO | | general | |
| value | text | YES | | NULL | |
+-----------+------------------+------+-----+---------+-------+
第二个表(应该如何)
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| config_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| scope | varchar(8) | NO | MUL | default | |
| scope_id | int(11) | NO | | 0 | |
| path | varchar(255) | NO | | general | |
| value | text | YES | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
最佳答案
我发现两个表之间存在以下差异:
config_id
应该是auto_increment
并且也是表的主键
范围
上缺少(非唯一)索引以下语句应根据需要更改表:
ALTER TABLE mytable
MODIFY COLUMN config_id INT auto_increment,
ADD PRIMARY KEY (config_id),
ADD INDEX idx_scope(scope)
;
PS:DEFAULT NULL
对于 config_id
没有意义:因为它是主键,所以您的 RDBMS 永远不会允许将其设置为 NULL
.
请注意,此答案仅基于您提供的信息。运行此语句不一定会使表结构严格等效,因为可能存在在您提供的表示中看不到的其他差异。您可以使用 SHOW CREATE TABLE mytable
语法获取描述该表的完整 DDL 语句。
关于MySql;更新表字段的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54608769/
我是一名优秀的程序员,十分优秀!