MySQL中建表时给字段设置默认值非常方便,可以使用DEFAULT关键字来指定默认值。以下是一个简单的例子:
CREATE TABLE example (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50),age INT DEFAULT 0,PRIMARY KEY (id));
在这个例子中,age字段被设置了一个默认值0。这意味着当不提供age值时,它将默认为0。
除了指定固定值作为默认值之外,还可以使用函数作为默认值。以下是一个使用CURRENT_TIMESTAMP函数的示例:
CREATE TABLE example2 (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id));
在这个例子中,created_at字段使用了CURRENT_TIMESTAMP函数作为默认值。这意味着当不提供created_at值时,它将默认为当前的时间戳。
需要注意的是,如果字段设置了默认值,但在插入数据时显式地提供了该字段值,将会忽略默认值。以下是一个示例:
INSERT INTO example (name, age) VALUES ('张三', 30);
在上面的例子中,即使age字段有一个默认值0,但因为在插入时显式地提供了age值,它不会使用默认值。
总的来说,使用默认值可以大大简化数据插入,在某些情况下还可以减少代码量。需要根据具体的业务需求来判断是否使用默认值。