[英]What is the best way to insert data into joined tables
這是我用於sql查詢的表結構:
SONGS MEDIA
id id
track song_id
artist source
added_on url
如何插入歌曲(曲目,藝術家,add_on,來源,url)? MEDIA.SONG_ID必須為正確的SONGS.ID
MEDIA.ID and SONGS.ID
都是主要增量和自動增量。
有人知道該怎么做嗎?
在標准SQL中,您將在ID序列上使用事務以及nextval
和currval
函數:
BEGIN
INSERT INTO songs VALUES(nextval('songs_id_sequence'), ...);
INSERT INTO media VALUES(nextval('media_id_sequence'), currval('songs_id_sequence'), ...);
COMMIT
1)第一選擇
您可以插入SONGS,獲取歌曲ID,然后將其插入MEDIA http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
2)第二種選擇
使用可更新的視圖(基於這兩個表) http://dev.mysql.com/doc/refman/5.1/en/view-updatability.html
3)第三種選擇
將存儲過程與第一個選項的邏輯類似
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.