位置:海鸟网 > IT > mySQL >

mysql数据表和数据表关联

  mysql数据库数据表和数据表关联--问题??

  用户数据表user 字词作品数据表article 短信 message

  外键ID 主键,之间的关系,是怎么控制的呢

  想实现的字词作品内容是

  1 怎么用户a 给用户b ,发短信,那么用户b就多了一个短信数据,这个id是怎么链接的呢

  2 用户发表字词作品,就能知道那个ID字词作品是那个用户id发表的,

  那么这个数据关系怎么建立,怎么设置表的外键

  第一个 数据表user

  id int ( 我设置了主键,auto_increment)

  name varchar

  password number

  第二个 字词作品数据表wenzhan

  id int ( 我设置了主键,auto_increment)

  标题 varchar

  content tex

  第3个 短信数据表 message

  id int ( 我设置了主键,auto_increment)

  content tex

  这是最基本的数据库设计!大多数数据库的设计方法是大致相同的!

  在设计数据库之前,你必须对SQL熟悉,不然设计数据库无从谈起!

  简单的常用的设计如下:

  1,user 表

  字段名

  uid (自增唯一字段)

  username

  password

  ...(更多相关需要的字段)

  2,articles表

  aid(自增唯一)

  uid

  标题

  content

  time

  ...(更多相关需要的字段)

  3,message表

  mid(自增唯一)

  from(存储发送消息的用户的uid)

  to(存储接收消息的用户的uid)

  标题

  message

  ....(更多相关需要的字段,比如:发送的时间)

  2,articles表

  aid(自增唯一)

  uid ????为什么会多出这个字段呢,和user 表的uid是同一个吗,还得关系,??

  标题

  content

  time

  ...(更多相关需要的字段)

  -------------------------------------- ... 嗯,和user表的uid 是一个!

  当发表字词作品的时候,记下是谁(uid)发表的字词作品,存入数据库!

  这样就可以知道每一张字词作品是谁写的了

  相关SQL: 拷贝内容到剪贴板

  源代码:

  SELECT a.`username`,b.`标题`,b.`content`,b.`time` FROM `user` as a,`articles` as b WHERE a.`uid`=b.`uid` ORDER BY b.`time` DESC LIMIT 0,10或者: 拷贝内容到剪贴板

  源代码:

  SELECT `user`.`username`,`articles`.`标题`,`articles`.`content`,`articles`.`time` FROM `user` LEFT JOIN `articles` ON `user`.`uid`=`articles`.`uid` ORDER BY `articles`.`time` DESC LIMIT 0,10