我有 2 张桌子。包含所有个人详细信息的 USER 表和包含通过 twitter api 检索的用户时间线中的所有推文的 TWEETTABLE
用户表
id|twitter_user_name|firstname|lastname|email
-----------------------------------------------
1 | @johnsmith |john |smith |js@gmail.com
推特表
name|scr_name|tweets |created_at_ |followers_count
----------------------------------------------------------
CNN |CNN |*tweet text*| 14nov 12:32| 38713286
我真正想要的是:
id| twitter_details |
-----|------------------------------------------------------- |
|name |scr_name|tweets |created_at_ |followers_count|
| ----|--------|------------|------------|--------------
1 | CNN|CNN |*tweet text*| 14nov 12:32| 38713286 |
----|------------------------------------------------------
2 | BBC|BBC |*tweet text*| 14Nov 16:43| 38713254 |
----|-----|--------|------------|------------|---------------|------
3
即列内的表。第 1 列将包含用户 ID,第 2 列包含他所有相应的 twitter 时间线详细信息。我可以在 oracle 中这样做:
CREATE TYPE tweet_typ AS OBJECT
(
name VARCHAR2(20),
scr_name VARCHAR2(25),
tweets text,
created_at timestamp;
followers count VARCHAR2(25)
)
MEMBER PROCEDURE display_details (SELF IN OUT
twitter_typ )
);
并在 twitter_details 列中使用它作为嵌套表
CREATE TABLE TWEETTABLE
( id INT,
twitter_details tweet_typ
);
然后插入
INSERT INTO TWEETTABLE
VALUES ( 1,twitter_typ (--extracted values goes here--));
但是Mysql不允许嵌套表。那么如何将tweettable定义为一个对象并使其成为mysql中twitter_details列内的嵌套表?