SQL语句中关于中文属性列名的update语句。

来源:百度知道 编辑:UC知道 时间:2024/07/04 22:49:14
我的tushu数据库中的“个人信息”表中有一列名为“已借书本数”,我想修改学号为“101”的用户的已借书本数,语句如下:

update 个人信息
set 已借书本数=已借书本数-1
where 学号='101'


update 个人信息
set 个人信息.已借书本数=个人信息.已借书本数-1
where 个人信息.学号='101'

都会报错,提示“已借书本数”列名无效。请问大家这是怎么回事??
谢谢!

提示“已借书本数”列名无效,都告诉你了啊。
比如 Book(id,书名)
update book set BookName = '数据库基础教程' where id = 10001
就会提示 “BookName”无效列名。
不要使用中文作为字段,会出现全角/半角之分,与你的数据库字符集设置也有关系。

列名无效就是你的列名写错了,仔细检查一下吧。
第一个sql语句是正确的。
熟悉一下表结构吧。

select top 1 * from 个人信息
看看那个列名到底叫什么

个人信息的表中并无此列,如果有的话是不是加空格之类的,因为有中文建议用[]括起来表示列名

update [个人信息]
set [已借书本数]=[已借书本数]-1
where [个人信息].[学号]='101'

可以直接update
不过最好把 中文的列名 用[] 框起来