是否可以在一个查询中为具有来自不同表的值的列设置DEFAULT?
我尝试了
的变体ALTER table1 ALTER col1 SET DEFAULT (SELECT col2 FROM table2 WHERE id=1)
ALTER table1 ALTER col1 SET DEFAULT @val:=SELECT col2 FROM table2 WHERE id=1
和
SELECT @var:=col2 FROM table2 WHERE id=1;
ALTER TABLE table1 ALTER col1 SET DEFAULT @var
但他们都会犯错误。
有人能指出我正确的方向吗?日Thnx
答案 0 :(得分:0)
数据类型规范中的 DEFAULT 值子句表示列的默认值。
除了一个例外,默认值必须是常量; 它不能是函数或表达式。这意味着,例如,您不能将日期列的默认值设置为函数的值,例如 NOW()或CURRENT_DATE。
例外情况是您可以指定 CURRENT_TIMESTAMP作为TIMESTAMP列的默认值。
refrence http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html