mysql空指针_MySQL为Null会导致5个问题

我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:

65020d511247e872df29c0bd64a9faca.png“兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。

-- 如果存在 person 表先删除

DROP TABLE IF EXISTS person;

-- 创建 person 表,其中 username 字段可为空,并为其设置普通索引

CREATE TABLE person (

id INT PRIMARY KEY auto_increment,

name VARCHAR(20),

mobile VARCHAR(13),

index(name)

) ENGINE='innodb';

-- person 表添加测试数据

insert into person(name,mobile) values('Java','13333333330'),

('MySQL','13333333331'),

('Redis','13333333332'),

('Kafka','13333333333'),

('Spring','13333333334'),

('MyBatis','13333333335'),

('RabbitMQ','13333333336'),

('Golang','13333333337'),

(NULL,'13333333338'),

(NULL,'13333333339');

select * from person;

构建的测试数据,如下图所示:

51b6d34150b6cd995a22f193ec9e0d76.png有了数据之后,我们就来看当列中存在 NULL 值时,究竟会导致哪些问题?

1.count 数据丢失

当某列存在 NULL 值时,再使用 count 查询该列,就会出现数据“丢失”问题,如下 SQL 所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL是一种常用的关系型数据库管理系统,mysql_real_connect()是MySQL C API提供的一个函数,用于建立与MySQL服务器的连接。下面是mysql_real_connect()函数的用法: ``` MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag); ``` 参数说明: - mysql:已经初始化的MYSQL结构体指针,用于存储连接和查询结果。 - host:MySQL服务器的主机名或IP地址。 - user:连接MySQL服务器的用户名。 - passwd:连接MySQL服务器的密码。 - db:连接MySQL服务器后要使用的数据库名。 - port:MySQL服务器连接端口,默认为3306。 - unix_socket:UNIX域套接字文件路径。 - clientflag:用于设置连接选项。 函数返回一个MYSQL结构体指针,代表与MySQL服务器的连接。连接建立成功时返回非空指针,否则返回空指针。 下面是一个建立与MySQL服务器连接的示例: ``` #include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; char *host = "localhost"; char *user = "root"; char *password = "123456"; char *database = "test"; conn = mysql_init(NULL); if (!conn) { printf("MySQL initialization failed!\n"); return 1; } conn = mysql_real_connect(conn, host, user, password, database, 0, NULL, 0); if (conn) { printf("MySQL connection succeeded!\n"); } else { printf("MySQL connection failed!\n"); } mysql_close(conn); return 0; } ``` 在这个示例中,我们使用mysql_init()函数初始化一个MYSQL结构体指针,然后使用mysql_real_connect()函数建立与MySQL服务器的连接。如果连接建立成功,则输出"MySQL connection succeeded!",否则输出"MySQL connection failed!"。最后使用mysql_close()函数关闭与MySQL服务器的连接。 希望这个示例能够帮助你理解mysql_real_connect()函数的用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值