在mySQL中,如何使字段始终默认为值?

在mySQL中,如何使字段始终默认为值?,mysql,Mysql,我有一个文本字段(列) 每次创建记录时,我都希望每个新记录的这个名为“type”的特定列默认为“FC” 我不能让它工作 您的查询是否将该列作为空白值插入?如果是这样,那可能就是问题所在。在create table语句之后尝试以下操作: ALTER TABLE TableName MODIFY type columnType Default 'FC'; 这样,每次插入新行时,type将具有值'FC',除非另有规定。我能想到的唯一解决方案是 手册和我脑海中的一个未经测试的快速示例: CREAT

我有一个文本字段(列)

每次创建记录时,我都希望每个新记录的这个名为“type”的特定列默认为“FC”

我不能让它工作


您的查询是否将该列作为空白值插入?如果是这样,那可能就是问题所在。

在create table语句之后尝试以下操作:

ALTER TABLE TableName MODIFY type columnType Default 'FC';

这样,每次插入新行时,
type
将具有值'FC',除非另有规定。

我能想到的唯一解决方案是

手册和我脑海中的一个未经测试的快速示例:

  CREATE TRIGGER ins_yourtable AFTER INSERT ON yourtable
->FOR EACH ROW SET type = 'FC';


如果您可以控制所有插入,您也可以在插入时跳过该列:它们将获得默认值。但是当值中填充了someting(甚至是“”)时,它将获得该值,因此您不会强制执行该值。

对此表示抱歉,这完全没有用。我是斗鸡眼?无论如何,这仍然没有帮助,因为您可以为新插入插入插入一个不是“FC”的值。@Nanne:“默认值”不是在没有其他值时提供的指定值吗?我的印象是,如果你想,你可以把类型作为其他东西…如果你用column
type
插入并给它赋值“thisisnotFC”,你就可以了。所以问题是OP对always意味着什么。是“我只想要一个默认值”,还是“无论插入方式如何,都必须始终设置默认值”。在这种情况下,它将不起作用,正如您在下面看到的:请指定“始终”的含义。当有人插入没有特定值时,您是否只需要此值,或者即使指定了其他值,您也需要此值?