MySQL INSERT INTO "(" 在此位置对于此服务器版本无效,需要 SELECT、SET、VALUES、TABLE 等

MySQL INSERT INTO "(" is not valid at this position for this server version, expecting SELECT, SET, VALUES, TABLE etc

我在 MySQL 中创建了一个数据库,并试图将值插入到名为 Artist 的 table 中,但在标题中一直收到 SQL 错误。这是我要执行的查询

insert Artist (ArtistId, name, genre, social media, G_id)  
Values ('911', 'Alessandro Torlonia', 'Ancient Greek/Roman', '', '734') 

我也曾尝试在我的 table 名称之前执行 INSERT INTO,并且 运行 没有想法让它工作。我需要更新 MySQL workbench 或任何其他建议吗?

标准 insert 语法如下:

insert into Artist (ArtistId, name, genre, social_media, G_id)
values (911, 'Alessandro Torlonia', 'Ancient Greek/Roman', NULL, 734)

备注:

  • 据推测,ArtistIdG_id 是数字数据类型(例如 INT),而不是字符串(VARCHAR 或类似的);如果是这样,我建议不要用单引号将值括起来。使用字符串不会引发错误(数据库会在后台为您处理转换)但最好使用正确的数据类型

  • social media 之间可能需要一个下划线;或者,如果列名中确实有 space,则需要用反引号将列名括起来。请注意,我分配了一个 NULL 值而不是空字符串;这通常是表示数据缺失的首选方式(它对所有数据类型都有效,与空字符串不同,空字符串只支持类似字符串的数据类型)