2017-12-12 5 views
5

2 tablom var. Kullanıcının çizelgenizden tüm tweets tüm kişisel bilgi ve TWEETTABLE ile KULLANICI tablo ne ben aslında gerçekten istediğiniz olduğuİç içe tablo mysql

name|scr_name|tweets  |created_at_ |followers_count 
---------------------------------------------------------- 
CNN |CNN  |*tweet text*| 14nov 12:32| 38713286 

Kullanıcı tablo

id|twitter_user_name|firstname|lastname|email 
----------------------------------------------- 
    1 | @johnsmith  |john  |smith |[email protected] 

tweettable twitter api yoluyla alınan:

 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 

, bir sütunun içindeki bir tablodur. Sütun 1 detaylarıyla muhtemelen bunu yaparak oracle yapabilirsiniz onun tekabül twitter zaman çizelgesi hepsi ile kullanıcı kimliği ve sütun iki sahip olacaktır:

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) 
); 

ve iç içe geçmiş bir tablo olarak twitter_details sütununun içinde bu kullanmak

CREATE TABLE TWEETTABLE 
(id INT, 
    twitter_details tweet_typ 
    ); 

sonra

INSERT INTO TWEETTABLE 
    VALUES (1,twitter_typ (--extracted values goes here--)); 

eklemek Ama MySQL ben bir nesne olarak tweettable tanımlayabiliriz nasıl iç içe tables.So izin vermez ve sütun içine it a yuvalanmış tablo yapma mysql umn twitter_details?

cevap

0

Bunu yapamazsınız, ancak herkesin yaptığı gibi yapabilirsiniz. Eğer 2 sütunlar eklemek

tweettable 

tweetID | userID |name|scr_name|tweets  |created_at_ |followers_count 
---------------------------------------------------------- 
    1   1 CNN |CNN  |*tweet text*| 14nov 12:32| 38713286 

olarak sadece tanımlar. Bir (twink) kullanıcı ile ilgili tweetID ve bir userID, bir (autoinc) olabilir.

Sonra

select * from user u join tweettable t where u.id = t.userID; 
0

Daha iyi kullanım çapraz birleşim tablosu ile sonuç almak. Örneğin "users_tweets". tablo yapısı:

user_id
user_id | tweed_id 

- için twitter_details dönüştürmek - bu user_table 've 'tweet_id' dan id olan bu tweettable

veya

user_id | tweet_name 

Diğer bir yol gelen 'id' olduğunu dize:

$strDetails = json_encode($twitter_details) 

ve bu dize $strDetails veritabanına

numaralı veritabanına ekleyin