Mysql 创建数据库如果不存在dbname,则影响1行

Mysql 创建数据库如果不存在dbname,则影响1行,mysql,database,Mysql,Database,当我试图创建一个已经存在的数据库时 CREATE DATABASE IF NOT EXISTS test; Query OK, 1 row affected (0.00 sec) CREATE DATABASE IF NOT EXISTS test; Query OK, 1 row affected, 1 warning (0.00 sec) 为什么它第二次显示1行受影响的消息,即使它没有创建同名的新数据库?尽管创建数据库如果不存在测试命令不会直接修改test数据库的现有实例中的行,它会影响m

当我试图创建一个已经存在的数据库时

CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.00 sec)
CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected, 1 warning (0.00 sec)

为什么它第二次显示
1行受影响的
消息,即使它没有创建同名的新数据库?

尽管
创建数据库如果不存在测试
命令不会直接修改
test
数据库的现有实例中的行,它会影响
mysql
数据库内部存储的实际细节,或者可能影响其中一个派生元视图中存储的实际细节,如
信息模式
性能模式
等。

报告的
查询正常,1行受影响(0.00秒)
指的是这些内部数据结构之一中的一行。当您重新发出
CREATE DATABASE
命令时,由于
IF NOT EXISTS
子句的作用,它很可能会在内部存储元数据,可能是一个累加字段,用于统计警告或类似信息,甚至只是针对该数据库行的“last active on”时间戳。在任何情况下,此记录中存储的数据都会更改,并反映为“受影响”行