Mysql插入“MySQL返回空结果集”

时间:2014-01-04 22:40:17

标签: php mysql sql

我不明白这个查询有什么问题?

INSERT INTO files 
            (FILE, 
             season, 
             episode, 
             playlistname, 
             uuid,
             type
             ) 
VALUES      ('link', 
             1, 
             3, 
             'name', 
             '123555',
             1
             ) 

来自mysql的响应

  

MySQL返回一个空结果集(即零行)。 (查询耗时0.0002秒)

================================= 更新

我试着跑 insert into files (file) values('file')

,结果是一样的。

我正在使用mysql percona 5.6

表格结构:

| files | CREATE TABLE `files` (
  `pfid` int(11) NOT NULL AUTO_INCREMENT,
  `post_id` varchar(11) DEFAULT NULL,
  `fDomain` varchar(20) DEFAULT NULL,
  `file` text CHARACTER SET utf8 NOT NULL,
  `playlistName` varchar(20) DEFAULT NULL,
  `thumbs_img` text,
  `thumbs_size` text,
  `thumbs_points` text,
  `poster_img` text,
  `mini_poster` varchar(20) DEFAULT NULL,
  `type` int(11) NOT NULL,
  `uuid` varchar(40) DEFAULT NULL,
  `season` int(11) DEFAULT NULL,
  `episode` int(11) DEFAULT NULL,
  `comment` text CHARACTER SET utf8,
  `time` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`pfid`),
  KEY `ix_files__post_id_type` (`post_id`,`type`),
  KEY `ix_playlistName_Ep_Se` (`playlistName`,`season`,`episode`)
) ENGINE=InnoDB AUTO_INCREMENT=130030 DEFAULT CHARSET=latin1 |

3 个答案:

答案 0 :(得分:1)

这仅仅意味着对于您的查询,它没有返回任何内容。这对于INSERT来说是正常的,因为它不是SELECT查询,因此没有指定要返回的内容,因此它不会返回任何内容。

答案 1 :(得分:1)

您获得的结果(MySQL returned an empty result set)表示零行受到影响。似乎您的使用中的列名称或查询中的类型与表格中的类型不同。

检查表格中的列,并注意它们区分大小写。如果它们很多,查询必须运行良好。

问题可能是由您分配给列和季节的值引起的。将数字插入字符串时。试试这个:

INSERT INTO files (FILE, season, episode, playlistname, uuid)
VALUES ('link', 1, 3, 'name', '123555') 

答案 2 :(得分:0)

验证属性的数据类型。你的VALUES列表都是字符串,如果其中一个数字(3或123555)是数字类型,如INT或Double等,将它们放在单引号中就像这样'3'告诉MySQL我的值是一个字符串。

INSERT INTO files 
        (FILE, 
         season, 
         episode, 
         playlistname, 
         uuid) 

VALUES('link',               1,               3,              '名称',              123555)