我想在MySQL数据库的表中添加一个新列,该表应该获取同一个表中另一列的值。这可能吗?如果是这样,你怎么做?
答案 0 :(得分:6)
从MySQL 5.0.2开始,您可以编写链接到TRIGGER
的存储过程,每次插入行时都可以检查新列,如果没有值,则自动将其他列的值复制到新列中是为新专栏提供的。
答案 1 :(得分:2)
截至20101212,mysql不支持默认的2个时间戳列,这意味着您无法在同一个表上执行“已创建”和“更新”。
如果这是你想要做的,那么带有存储过程的触发器就是你要去的地方。
答案 2 :(得分:2)
您可以使用以下两个命令来完成您的工作。
此命令将用于在表中添加新列。记住要复制的数据类型,以便在新列中使用这些数据类型。
ALTER TABLE table_name ADD new_column_name VARCHAR(60);
2:此命令用于将数据从旧列名复制到新列名。
UPDATE table_name SET new_column_name = old_column_name;
然后,如果要删除上一列,则可以使用以下命令
ALTER TABLE table_name DROP COLUMN old_column_name;
答案 3 :(得分:1)
创建一个视图,您可以选择相同的列两次并给它指定不同的名称,然后应用程序可以使用该视图而不是直接使用该表。