搞了一天了都没搞好!

ooip1919 2009-06-01 06:15:36
aa表:
id name bid cid
---------------------------------------
101 张三 UV 10
102 李四 KK 20
103 王五 SS 10
104 小明 SS 20
105 小芳 UV 20
---------------------------------------
bb表:
bid wenhua
--------------------
UV 大学
KK 初中
SS 小学
--------------------
cc表:
---------------------
cid sex
------------
10 男
20 女
********************************
select aa.id aa.name,bb.wenhua,cc.sex from aa,bb,cc where aa.bid=bb.bid and
aa.cid=cc.cid
显示:
101 张三 大学 男
102 李四 初中 女
103 王五 小学 男
104 小明 小学 女
105 小芳 大学 女

修改"105 小芳 初中 男" 后怎么UPDATA到表aa中??
又如何插一条新纪录呢?
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
To 6楼 :不只省两个字那么简单,要是数据库大了,就省很多,比如我原来的数据库有100多M,现在用这种方法后有70多M,省很多
数据库的大小是有限制的,好像是2G吧

==================================================================

就你给出的表结构来说,没可能节省那么多。
不过是在aa表中把bid换成wenhua,cid换成sex,除非你把wenhua、sex设置得比较长,否则不会浪费一个字节。
2GB的限制,你用的什么数据库?access?
ooip1919 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 draculamx 的回复:]
2楼的方法可以,不过,建议楼主在表之间建立关联,这样,当你修改的时候,不需要手写代码,数据库会自动完成更新
[/Quote]

关联会不会吧其他表更新,比如CC表才两条记录,更新后会有很多"男"男"女"女"和aa表一样多记录那就没意义了


To 6楼 :不只省两个字那么简单,要是数据库大了,就省很多,比如我原来的数据库有100多M,现在用这种方法后有70多M,省很多
数据库的大小是有限制的,好像是2G吧

TO 2楼:方法可以谢谢. 还有INSERT呢?
draculamx 2009-06-02
  • 打赏
  • 举报
回复
2楼的方法可以,不过,建议楼主在表之间建立关联,这样,当你修改的时候,不需要手写代码,数据库会自动完成更新
肆水東澤 2009-06-02
  • 打赏
  • 举报
回复
多表连接。还是用嵌套吧
  • 打赏
  • 举报
回复
一个表就可以了嘛,就为了每记录省2个字节?:)
jamesyue2008 2009-06-02
  • 打赏
  • 举报
回复
建议关联就可以了. 数据库本身有这个基本的功能.
Sep_FengLing 2009-06-01
  • 打赏
  • 举报
回复
学习中。。。
xabcxyz 2009-06-01
  • 打赏
  • 举报
回复
updata aa set bid = (select bid from bb where wenhua = '初中'), cid = (select cid from cc where sex = '男') where name = '小芳'

或者

updata aa set bid = (select bid from bb where wenhua = '初中'), cid = (select cid from cc where sex = '男') where id = 105

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧