MySQL 中的 INSERT INTO 语句

INSERT INTO statement in MySQL

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

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

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

感谢您的帮助!

下面的 select 有效,但我在 insert 之后的 table 中看不到数据:

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

范围比较广。假设您在 insert 中没有错误,您可能有:

  • 您查询错误dim_time,所以数据是存在的,但您的检查是错误的。
  • 您正在一个数据库中插入 dim_time 但在另一个数据库中查询它。

假设您有错误但遗漏了错误,以下是一些可能性:

  • 数据库不存在。
  • table不存在。
  • 列命名错误。
  • 声明了其他列NOT NULL
  • table 上定义的触发器正在阻止 insert
  • table 上的独特 constraints/indexes 正在阻止 insert

你的问题没有提供足够的信息来更具体。但是,在维度 table.

中插入大量年份(其中可能包含许多重复项)似乎非常可疑。