如何在SQL中仅将另一列数据从另一表插入表

时间:2018-08-21 11:19:56

标签: mysql

我有两个表languagescategory

  Languages                Category
+-----------+           +---------+------+
|  Language |           |   Name  | Year |
+-----------+           +---------+------+
|  English  |           | English | 2018 |
|  German   |           | German  | 2018 |
|  French   |           | French  | 2018 |
+-----------+           +---------+------+

现在,问题出在我的查询方式是

  

INSERT INTO类别(name)从语言中选择语言;

但是,我也想在将语言插入到categorytable 2中的同时添加这些年份(总是同一年)。

2 个答案:

答案 0 :(得分:3)

您可以只插入年份的文字值:

INSERT INTO categories (name, year)
SELECT language, 2018    -- or maybe use YEAR(NOW()) in place of 2018
FROM languages;

可以在select子句中指定文字,就像可以指定任何列名一样。

答案 1 :(得分:2)

似乎您需要year(curdate())

INSERT INTO categories (name, year) 
select language, year(curdate())
from languages ;