【发布时间】:2014-06-25 16:56:43
【问题描述】:
请原谅我的示例中的任何语法错误;我是 SQL 新手。 对于这个问题,让我们假设我有这样的假设结构:
作者列表:
- author_id INT NOT_NULL AUTO_INCREMENT PRIMARY
- author_name VARCHAR(30) NOT_NULL
books_list:
- book_id INT NOT_NULL AUTO_INCREMENT PRIMARY
- book_author_id INT NOT_NULL FOREIGN_KEY(authors_list.author_id)
- book_name VARCHAR(30) NOT_NULL
一般导入书籍时,我只知道书名和作者名。我终于弄清楚了如何仅使用以下数据插入books_list:
INSERT INTO `books_list`(`book_author_id`, `book_name`) VALUES ((SELECT `author_id` FROM `authors_list` WHERE `author_name` = 'SomeAuthorName'), 'SomeBookName')
但是,我有一个 .csv 文件,其中仅包含 author_name 和 book_name 列。我之前一直在使用 phpMyAdmin 导入 .csv 文件,但这些表没有外键。有什么方法可以导入使用此“动态查找”功能描述的表单的 .csv?
【问题讨论】:
-
@Fanda 这会是 SQL 语句还是 PHP 之类的东西?目前,我一直将 .csv 导入 Excel 并在作者表的本地副本上执行 VLOOKUP 以获得
id- 似乎您建议的过程需要大约相同的时间?
标签: mysql sql phpmyadmin