我想在MySQL数据库的表中添加一个新列,该列应该获得同一表中另一列的值。这个是否可能?如果是,该怎么做?
从MySQL 5.0.2开始,您可以编写与TRIGGER
关联的存储过程,每次插入一行时都可以检查新列,并在新列没有提供值时自动将其他列的值复制到新列中。
This command will be used to add new column in you table. Remember data type from where you want to copy to use those data type in new Column.
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;
截至20101212,MySQL不支持在同一张表中默认设置2个时间戳列,这意味着您无法在同一张表上执行“created”和“updated”操作。
如果这正是您想要做的事情,那么使用存储过程的触发器是正确的选择。