sql - 为什么 MySQL 会返回类似 'returned an empty result set' 或 'n row(s) affected' 的消息?

标签 sql mysql database

为什么 MySQL 返回 # MySQL 返回一个空结果集(即零行)。3 行受影响。?我的SQL语句有什么问题吗?

CREATE TABLE IF NOT EXISTS `test` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `order` mediumint(8) NOT NULL,
  `url` varchar(70) COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(70) COLLATE utf8_unicode_ci NOT NULL,
  `content` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`id`),
  UNIQUE KEY `url` (`url`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

# MySQL returned an empty result set (i.e. zero rows).

INSERT INTO `test` (`id`, `order`, `url`, `title`, `content`) VALUES
(52338, 1, '', 'Home', 'content'),
(70104, 2, 'about', 'About', 'content'),
(27034, 3, 'portfolio', 'Portfolio', 'content');
# 3 row(s) affected.

最佳答案

受影响的行数和结果集的长度是两个不同的东西。

通常,INSERT、UPDATE 和 DELETE 语句会影响行,而 SELECT 返回一个结果集,如果根据条件没有匹配到的行,则该结果集可能为空。

关于sql - 为什么 MySQL 会返回类似 'returned an empty result set' 或 'n row(s) affected' 的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009662/

相关文章:

php - 如何在 php/html 中隐藏整个空列

php - Xampp/Lampp Mysql访问

php - beginTransaction() 可以与prepare() 一起使用吗?

sql - 在 T-SQL/SQL Server 2000 中,引用结果集中的特定行

php - Mysql定义一个列名,由子内部查询从其他表中选择

sql - 在有向图中找到所有不同的路径并计算最小成本

sql - 在 Hive SQL 中提取两个字符之间的数字

sql - 在不可连接的列上右连接

mysql - 在 RHEL7 上安装 mysql-devel

database - 为什么要使用 ORM?