MySQL中的DEFAULT
关键字用于为列指定默认值。当插入新记录时,如果没有为该列提供值,则系统会自动使用默认值。这在确保数据完整性和减少手动输入工作量方面非常有用。
MySQL支持多种类型的默认值,包括:
'default_value'
、0
、NULL
等。NOW()
、CURRENT_DATE()
等,这些函数会在插入记录时动态计算值。'prefix_' + id
(但请注意,这种用法可能受限于MySQL的版本和配置)。CURRENT_TIMESTAMP
作为默认值。status
),可以设置一个默认值,如'active'
或'pending'
。gender
),可以设置默认值为'unknown'
。在创建表时,可以使用DEFAULT
关键字为列指定默认值。例如:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(50) DEFAULT 'active'
);
在这个例子中,created_at
列的默认值是当前时间戳,status
列的默认值是'active'
。
问题:已经创建的表,如何添加默认值?
解决方法:可以使用ALTER TABLE
语句来修改列并添加默认值。例如:
ALTER TABLE users
ALTER COLUMN created_at SET DEFAULT CURRENT_TIMESTAMP,
ALTER COLUMN status SET DEFAULT 'active';
注意:在执行此类操作时,请确保已经备份了相关数据,以防意外情况发生。
领取专属 10元无门槛券
手把手带您无忧上云