求教表的设计
SQL code
CREATE TABLE `message` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`text` varchar(250) DEFAULT NULL,
`uname` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
这是一个类似微薄的消息表:
`uname`说了一句话`text`现在考虑的问题是用户名uname可能会改变,那么表中所有该用户的`uname`就必须跟着改变,担心更新的效率。
我想到存一个uid,它并不会变。但这样就还需要根据uid再查到uname,更加麻烦
这种情况通常大家是怎么做的?
------解决方案--------------------
------解决方案--------------------
大致写一下
CREATE TABLE `message` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
uid int NOT NULL ,
`text` varchar(250) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE `username` (uid int NOT NULL ,uname varchar(250),PRIMARY KEY (`uid`))
select * from `message` a inner join
`username` b on a.uid=b.uid