[英]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.