mysql,根据现有数据创建字段

时间:2010-08-16 23:47:20

标签: mysql

如果可能,我想添加一个字段,该字段包含同一个表中另一个字段的数据。在这种情况下,我希望table.newfield中的everythhing显示table.oldfield中小于100的值。我可以在sql中执行此操作吗?或者我是否应该坚持在报告的选择查询中执行此操作?

Mysql 5,1 innodb严格模式

2 个答案:

答案 0 :(得分:4)

您可以在添加新列后执行更新,例如

ALTER the table to add a Nullable Int/Long/??? called NewField

UPDATE Table SET NewField = OldField WHERE OldField<100

这个犯规当然只会在查询运行时更新

您可能还想查看使用视图 - 这些视图是被视为表的有效查询。所以你可以有一个视图:

SELECT <Other Fields>,
    CASE WHEN OldField<100 THEN OldField
    ELSE NUll
END CASE
FROM table

(上述语法未经检查,但应该大致正确)

更多阅读材料:Creating ViewsMySQL Case Statements

答案 1 :(得分:0)

如果您只想显示短字符串,那么在SQL中全部执行 - 不要冗余地存储该数据。

如果你必须再次存放,那么Basiclife就做对了..