假设我有一个包含3个房间表的数据库:room_lvl1,room_lvl2,room_lvl3,它代表建筑物中的3个等级。每个级别有20个++房间。因此,每个房间的桌子都有20个++行,代表该级别的房间。
我需要删除表中除主键之外的所有属性,除了主键之外,还要将所有属性更新为空值。
我可以运行任何查询吗?
答案 0 :(得分:1)
您可以通过执行以下操作将值设置为NULL
:
update room_lvl1
set col1 = NULL,
col2 = NULL,
. . .;
其中col1
等是非主键列。
这似乎是一件非常奇怪的事情。你可以清空表格:
truncate table room_lvl1;
那将删除所有行。
您可以保存,截断并重新插入:
create table temp_room_lvl1 as select * from room_lvl1;
truncate table room_lvl1;
insert into room_lvl1(pk)
select pk from temp_room_lvl1;