簡體   English   中英

將數據插入聯接表的最佳方法是什么

[英]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序列上使用事務以及nextvalcurrval函數:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM