mysql默认值是多少?
mysql默认值有以下几个类型:
1 指定列的默认值
columnName int default '-1'
2 integer 列-设置自增列 也是指定默认值的方式
3 默认值必须是常量 不能使用函数、表达式---特例:timestamp datetime 列可以指定current_timestamp做为默认值
4 blob text geometry json 数据类型不能指定默认值
5 如果没有明确指定默认值,mysql会有一个默认的默认值:numeric 类型 默认0;第一个timestamp 列默认current date and time
字符串类型:默认是空字符串,enum类型默认是枚举的第一个值
6 查看表的默认值:show create table tablename
alter table [tablename] drop constraint [标识] ALTER TABLE [tableName] ADD CONSTRAINT [标识] DEFAULT (25) FOR [columnName] 如果原字段没有默认值,下面一句就不用写了: alter table [tablename] drop constraint [标识] 即先给此字段添加一个默认值 要已经有了默认值就写上面的Ok
binlog的默认本地保留时长?
对于MySQL数据库,binlog的默认本地保留时长(expire_logs_days)是30天。
binlog是MySQL数据库用于记录所有的数据库变更操作(如insert、update和delete等),以便进行数据恢复或数据复制的重要工具。MySQL服务器会自动保留binlog文件,但会按照expire_logs_days参数设置的天数进行自动清理。
你可以通过以下两种方式来查看和修改expire_logs_days参数:
1. 通过MySQL配置文件(my.cnf或my.ini)查看和修改
打开MySQL配置文件,在[mysqld]或[mysql.server]节中找到或添加以下行:
```
expire_logs_days = 30
```
设置的值即为binlog的默认本地保留时长。修改完毕后,重启MySQL服务器使设置生效。
2. 通过MySQL命令查看和修改
使用超级用户(如root)登录到MySQL服务器,执行以下命令:
```sql
SHOW VARIABLES LIKE 'expire_logs_days';
```
这将显示当前设置的expire_logs_days值。如果需要修改,可以使用以下命令:
```sql
SET GLOBAL expire_logs_days = 30;
```
修改完毕后,并不需要重启MySQL服务器。新的设置将在下次生成binlog文件时生效。
需要注意的是,在修改expire_logs_days参数前,应充分考虑到数据库恢复和数据复制的需求,确保binlog能够保留足够长的时间。