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';注意:在执行此类操作时,请确保已经备份了相关数据,以防意外情况发生。