users
表:
CREATE TABLE `users` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`unique_id` varchar(23) NOT NULL,
`full_name` varchar(100) DEFAULT NULL,
`name` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `unique_id` (`unique_id`) USING BTREE,
UNIQUE KEY `email` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8;
items
表:
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`item_photo` text,
`item_name` varchar(100) DEFAULT NULL,
`item_description` varchar(500) DEFAULT NULL,
`item_price` varchar(10) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_user_id` (`user_id`) USING BTREE,
KEY `fk_category_id` (`category_id`) USING BTREE,
CONSTRAINT `items_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`),
CONSTRAINT `items_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8;
我想做的是为我的项目创建一个私人消息系统。在此之前,我已经实现了一个评论系统,它运作良好(拉出comments
具有相同的item_id
)。您可以看到DDL并查询here。但是当谈到这一点时,我发现很难想到私人消息传递模型。
基本上,私人消息仅对两个用户(卖家和出价人)之间的商品价格出价。其他注册用户无法看到其他人出价。
这是我尝试创建Bids
表:
CREATE TABLE `bids` (
`id` int(11) NOT NULL,
`bid` float DEFAULT NULL,
`message` varchar(255) DEFAULT NULL,
`from_uid` varchar(255) DEFAULT NULL,
`to_uid` varchar(255) DEFAULT NULL,
`to_iid` int(11) DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我也尝试将外键变成bids
表,但似乎对我来说已经太复杂了。所以错误 1215 - 无法添加外键约束出来了:(
如果有任何事情让我知道。
编辑: charset to utf8。无法创建外键约束
答案 0 :(得分:1)
讯息强>
message_id
conversation_id
user_id
message
<强>会话强>
conversation_id
item_id
user_id
<强> BIDS 强>
bid_id
item_id
user_id
amount