mysql - 如何将主/外键及其列插入现有数据库?

标签 mysql sql sql-server foreign-keys primary-key

将主/外键约束和数据列插入大型现有公司数据库的最佳方法是什么?

我目前在一家公司工作,该公司的数据库很大,主键很少,也没有外键。作为一个一直使用这些键来连接表的人,我注意到了这导致的问题。在使用大查询进行报告时,存在大量不匹配的数据,这会导致很多问题。这几乎造成了比需要的更多的问题。

我该如何改善这样的问题?

任何建议都会很棒。谢谢

最佳答案

你肯定需要引入主键和外键!!!

在现有表上添加主键的语法如下:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);

删除约束如下:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

要禁用:

ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;

如果您需要进行数据清理,以下内容也会很有用:

alter table t enable novalidate constraint uniq_a; 

插入的新记录将遵守限制,但现有数据将不会得到验证。

我现在想不出其他任何东西,但请随时向我询问评论。

特德。

关于mysql - 如何将主/外键及其列插入现有数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46243790/

相关文章:

php - PHP在数据库中找不到用户名

php - 如何在具有键值对数据数组的表中一次插入多行

sql - 使用 Redshift 对暂存表使用排序键和压缩

sql - 将一些列转置为行

java - Apache DBUtils queryRunner - where in 子句

java - 你能制作组合框方法吗

php - MySQL 三表连接

mysql - 我如何知道一个 mysql 表使用的是 myISAM 还是 InnoDB 引擎?

sql - 如何更新日期类型列?

sql - CRYPT_GEN_RANDOM 奇怪的效果