在MySQL中INSERT INTO语句

时间:2015-05-19 10:56:25

标签: mysql sql database data-warehouse

我尝试在数据库中的一列上使用YEAR函数,然后将结果添加到DWH中的另一个表中。 我做错了什么?

INSERT INTO example_dwh1.dim_time (date_year)
SELECT YEAR(time_taken) 
FROM exampledb.photos;

当删除INSERT INTO行时,我得到了我想要的结果,但是我无法将它们插入到dwh表中。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

以下select有效,但我在insert之后看不到表格中的数据:

INSERT INTO example_dwh1.dim_time (date_year)
    SELECT YEAR(time_taken) 
    FROM exampledb.photos;

有相当广泛的。假设insert中没有错误,您可能会:

  • 您错误地查询dim_time,因此数据存在,但检查错误。
  • 您正在一个数据库中插入dim_time,但在另一个数据库中查询它。

假设您有错误但缺少错误,可以采取以下措施:

  • 数据库不存在。
  • 该表不存在。
  • 该列名称错误。
  • 其他列声明为NOT NULL
  • 表中定义的触发器阻止了insert
  • 表上的唯一约束/索引阻止了insert

您的问题没有提供足够的信息以便更具体。但是,将一堆年份(可能包括许多重复项)插入维度表中似乎非常可疑。