mysql表中设置了default不起作用

本文分享了设置表格默认值的经验,包括实体类属性预设、MySQL默认值应用及插入语句注意事项,帮助解决数据默认值设置问题。

参考博客: https://blog.youkuaiyun.com/u013476542/article/details/60867415  博主:享受编程_

参考博客: https://blog.youkuaiyun.com/sdxushuxun/article/details/78962521  博主:sdxushuxun

我平时在设置表格时,例如设置成绩默认值为0,但我传入数据发现数据仍然为null;很是不理解

经过参考查找得出一些小经验,记录一下

1、插入表中数据时,传递的参数为null或者“” 都不可以,他们会直接存入数据表中

2、方便的设置默认值是:在对应的实体类的属性中直接赋值。如同这样的:

class entity{

private int score=100;

//省略下面的getter和setter方法

}

3、但是mysql中默认值的设置该怎么应用呢?

当insert into 插入语句中不对该字段进行操作,即insert中没有该字段时才会使用默认值填充

在使用过程中,default可以跟着check使用

作者:sarida
来源:优快云
原文:https://blog.youkuaiyun.com/sarida/article/details/82965568
版权声明:本文为博主原创文章,转载请附上博文链接!

MySQL设置中文头,需要注意数据库、以及字段的字符集设置,以避免中文乱码问题。以下是具体的操作方法: #### 创建设置中文头 在创建时,可以直接为字段指定中文名称。同时,要确保数据库和的字符集支持中文,通常使用 `utf8` 或 `utf8mb4`。 ```sql -- 创建数据库,指定字符集为 utf8mb4 CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 使用该数据库 USE your_database_name; -- 创建设置中文头 CREATE TABLE your_table_name ( `中文1` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, `中文头2` VARCHAR(10) NOT NULL, `中文头3` TINYINT(2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` #### 修改已有头为中文 如果已经有在,可以使用 `ALTER TABLE` 语句来修改头为中文。 ```sql -- 修改已有头为中文 ALTER TABLE your_table_name CHANGE old_column_name `中文头` new_data_type; ``` #### 配置 MySQL 服务器字符集 为了确保整个 MySQL 环境都能正确处理中文,需要在 MySQL 配置文件中设置字符集。配置文件的路径一般位于 `C:\ProgramData\MySQL\MySQL Server 8.0\`,在配置文件中添加或修改以下内容: ```plaintext character_set_server=utf8mb4 init_connect='set names utf8mb4' ``` ### 注意事项 - 确保客户端连接到 MySQL 服务器时使用的字符集也是支持中文的,通常在连接字符串中指定字符集参数。 - 如果在导出数据时需要显示中文头,可以在导出语句中使用 `CONVERT` 函数来处理中文头,例如: ```sql SELECT CONVERT(('中文1') USING gbk), CONVERT(('中文头2') USING gbk), CONVERT(('中文头3') USING gbk) -- 后续的查询语句 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值