sql server2005:如何用sql语句删除关键字为空的记录

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:58:37
比如 delete from table where primary key is null
我知道这样写不对,那应该怎样写才好,望高手指教。
如果能回答怎么用sql语句查找表的关键字也行。
只有20分了,不好意思。
回复csuxp2008:当然,关键字不能为空,此处是删除关键字字段为空格符的记录。
hg1212回答的挺好的,只是执行时不能实现,麻烦谁帮忙改改!谢谢!!

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='表名'
你可以先查找关键字,不一定只有一个关键字,一步一步来,就OK了,你能提这个问题,相信难不倒你。

也就是你说的那个啊:
delete from 表名 where 关键字字段名 is null.

不能这样写,必须写明是哪一列才行的

delete from table where id is null

delete from 表名 where (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='表名') is null

我估计就是有空格,删除空格的行
declare @A varchar(20)
SELECT @A=COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='AAA'
exec('delete from AAA where ' +@A+ '=''''')
如上,AAA替换你的表名

什么叫做 关键字为空?!
你的意思应该是某些字段为空的记录吧
建表的时候如果设定了主键,是不允许为空的

where 列名 is null