是否可以仅在mysql列中为新记录设置默认值?
如果没有输入任何内容,我希望今天之前的所有行都为null,但是如果没有为该列输入任何内容,则今天之后添加的任何新行都将成为特定字符串。
这可能吗?
答案 0 :(得分:2)
搜索表中的所有行并检查特定列是否为空,如果是,则将其设置为空。
UPDATE tablename SET column = CASE column WHEN '' THEN NULL ELSE column END
对于将来的条目,您可以向表中添加默认约束,如下所示:
ALTER TABLE tablename ALTER column SET DEFAULT 'specific string'
答案 1 :(得分:0)
这是一篇旧帖子,但我确实认为这个答案可能对其他人有所帮助。
ALTER TABLE object_table_name ADD `value` INT NULL;
ALTER TABLE object_table_name MODIFY COLUMN `value` INT DEFAULT 0;
这样做只会影响新插入的记录,这段代码对我不起作用
ALTER TABLE object_table_name ADD `value` INT DEFAULT 0
我使用的是 MySQL 5.6