Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL一对多对多转换_Mysql_Codeigniter - Fatal编程技术网

MySQL一对多对多转换

MySQL一对多对多转换,mysql,codeigniter,Mysql,Codeigniter,我有一张一对多的桌子 tblAuthor id name tblPublisher id name tblBooks title author_id publisher_id 我正在将其转换为容纳多个作者和多个发布者。因此,我的新表模式现在是 tblAuthor id name tblPublisher id name tblBooks id title tblBooksAuthor book_id author_id tblBooksPublisher book_id publi

我有一张一对多的桌子

tblAuthor
id
name

tblPublisher
id
name

tblBooks
title
author_id
publisher_id
我正在将其转换为容纳多个作者和多个发布者。因此,我的新表模式现在是

tblAuthor
id
name

tblPublisher
id
name

tblBooks
id
title

tblBooksAuthor
book_id
author_id

tblBooksPublisher
book_id
publihser_id
如何将数据迁移到新表中。最好的解决方案是什么。
tblBooks
包含大约100万行。插入是唯一的方法吗

INSERT INTO tblBooksPublisher (book_id, publihser_id)
SELECT id, publihser_id
FROM tblBooks;

您是将数据从SQL迁移到SQL还是其他源?如果您只是在SQL中创建单独的表,那么是的,最简单的方法是插入数据,而不管您有多少数据