MySql;更新表字段的正确方法
当试图描述一个表时,我得到一个缺少信息的表(见第一个表);以第二种方式更新该表的最佳方式是什么?我的SQL背景不太好,所以我很想听听如何做到这一点的想法 第一张表(实际情况) 第二张表(应该是怎样的)MySql;更新表字段的正确方法,mysql,sql,field,Mysql,Sql,Field,当试图描述一个表时,我得到一个缺少信息的表(见第一个表);以第二种方式更新该表的最佳方式是什么?我的SQL背景不太好,所以我很想听听如何做到这一点的想法 第一张表(实际情况) 第二张表(应该是怎样的) 我发现这两个表之间存在以下差异: 列config\u id应该是表的auto\u increment和primary key 列scope 以下声明应根据需要更改表格: ALTER TABLE mytable MODIFY COLUMN config_id INT auto_inc
我发现这两个表之间存在以下差异:
- 列
应该是表的config\u id
和auto\u increment
primary key
- 列
scope
ALTER TABLE mytable
MODIFY COLUMN config_id INT auto_increment,
ADD PRIMARY KEY (config_id),
ADD INDEX idx_scope(scope)
;
PS:DEFAULT NULL
对于config\u id
没有意义:因为它是主键,您的RDBMS将永远不允许将其设置为NULL
请注意,此答案仅基于您提供的信息。运行此语句不一定会使表结构严格等效,因为在您提供的表示中可能存在其他无法看到的差异。您可以使用
SHOW CREATE table mytable
语法获得描述该表的完整DDL语句。我发现这两个表之间存在以下差异:
- 列
应该是表的config\u id
和auto\u increment
primary key
- 列
scope
ALTER TABLE mytable
MODIFY COLUMN config_id INT auto_increment,
ADD PRIMARY KEY (config_id),
ADD INDEX idx_scope(scope)
;
PS:DEFAULT NULL
对于config\u id
没有意义:因为它是主键,您的RDBMS将永远不允许将其设置为NULL
请注意,此答案仅基于您提供的信息。运行此语句不一定会使表结构严格等效,因为在您提供的表示中可能存在其他无法看到的差异。您可以使用
SHOW CREATE table mytable
语法获得一个完整的DDL语句来描述该表。Hi;谢谢你的投入;config_id的默认值应为NULL;这也可以包括在查询中吗?@Eduardo:defaultnull
实际上对于主键没有意义,因为它无论如何都不允许NULL
值……嗨;谢谢你的投入;config_id的默认值应为NULL;这也可以包含在查询中吗?@Eduardo:defaultnull
实际上对于主键没有意义,因为它无论如何都不允许NULL
值。。。
ALTER TABLE mytable
MODIFY COLUMN config_id INT auto_increment,
ADD PRIMARY KEY (config_id),
ADD INDEX idx_scope(scope)
;