往表里插入数据,查询表如下
接着update时,返回值为0,去除where条件后更新成功。
查询主键id有值发现只有建 表时创建的值,没有后来插入的值
SELECT ID FROM news_detail ;
又遇到这种问题了
1 queries executed, 1 success, 0 errors, 0 warnings
Query: update news_detail set categoryId=5 where id=4
0 row(s) affected
Execution Time : 0 sec
Transfer Time : 0 sec
Total Time : 0 sec
我问了别人,说是mysql数据库的原因
select * from news_detail where ID = ?;
这样才行啊!
我百度说找不到匹配的id,所以我就查看id的值
具体的sql语句是怎么样的
我先执行SELECT * FROM news_detail;
再执行UPDATE news_detail SET title='修改测试' WHERE id=5;更新不成功,返回值 为0
再执行UPDATE news_detail SET title='修改测试' ;更新成功,所有的标题都 更新了
接着执行UPDATE news_detail SET title='修改测试' WHERE id=1;更新成功,把id换成2 也成功。1和2 是建表时插入的值 。主键id设置了自增。
我就想看一下id的值
SELECT ID FROM news_detail ;
发现只有1和2
@白衣风云:
可以成功啊。
你是不是表里没有id=5的记录,如果是这样的话,当然更新不成功啊
具体的sql语句就是UPDATE news_detail SET title='修改测试' WHERE id=5
@甜甜咿呀咿呀哟:
@甜甜咿呀咿呀哟:
我在增加时使用了下自增后,突然能查出所有插入ID。
INSERT INTO news_detail(id,categoryId,title,summary,createDate)
VALUES(NULL,11,"adim","摘要","2015-09-23");
看不到你贴的图片
也不知道那儿有问题,折腾了半天自己突然好了。到现在稀里糊涂
这是建表语句
CREATE TABLE news_detail
(
id
BIGINT(10) NOT NULL AUTO_INCREMENT COMMENT 'id',
categoryId
BIGINT(10) DEFAULT NULL COMMENT '新闻类别id',
title
VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '新闻标题',
summary
VARCHAR(200) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '新闻摘要',
content
TEXT COLLATE utf8_unicode_ci COMMENT '新闻内容',
picPath
VARCHAR(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '新闻图片路径',
author
VARCHAR(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '发表者',
createDate
DATETIME DEFAULT NULL COMMENT '创建时间',
modifyDate
DATETIME DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (id
)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='新闻明细表';
原表的ENGINE=MYISAM我改成成INNODB