mysql - 我在 MySQL 中有两个具有相同列的表。有没有办法检测它们之间的变化?

标签 mysql sql database database-design schema

我有下表:

电影

  • 标题 - VARCHAR (255)
  • 年份 - VARCHAR (4)
  • 格式 - VARCHAR (255)

电影自定义

  • 标题 - VARCHAR (255)
  • 年份 - VARCHAR (4)
  • 格式 - VARCHAR (255)
  • 用户名_id - INT (11)

每个表都有不同的数据,但我想确保某些列名没有更改。例如,如果我将电影上的format - VARCHAR (255)更改为distribution_type - VARCHAR (30),我还想制作确保对 movie_custom 进行相同的更改。

MySQL 有什么方法可以确保这一点吗?以某种方式将两列耦合在一起?

最佳答案

评论太长了。

听起来你的数据模型很糟糕。如果修复数据模型,问题就会得到解决。

您应该有一个带有主键的电影数据库:

create table movies (
    movieId int primary key auto_increment,
    . . .
);

然后,第二个表应包含三列:

create table moviesCustom (
    movieCustomId int primary key auto_increment,
    movieId int not null,
    username_id int,
    constraint foreign key (movieId) references movies(movieId)
);

然后,当您需要两个表中的信息时,请使用联接

关于mysql - 我在 MySQL 中有两个具有相同列的表。有没有办法检测它们之间的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338664/

相关文章:

mysql - 如何使用 SQL 查询连接数据库中具有相似名称的一组表?

mysql - SQL查询将一列的组结果带入多个列

android - 将 CheckBox 值插入 SQLite Android

mysql - 将 MySQL 同步到 SQL Server

mysql - 在 Hibernate 中处理死锁的正确方法

mysql - 如何在删除表后回收 InnoDB 中的磁盘空间

mysql - 选择多次与映射表匹配的多个项目

sql - 如何选择属于一个组而不是另一个组的项目

mysql - 如何在 SQL 中的特定列中获取中间值

mongodb - 与简单文本相比,将日期作为 ISODate 存储在数据库中有什么优势?