【问题标题】:MySQL INSERT INTO "(" is not valid at this position for this server version, expecting SELECT, SET, VALUES, TABLE etcMySQL INSERT INTO "(" 对于此服务器版本在此位置无效,需要 SELECT、SET、VALUES、TABLE 等
【发布时间】:2020-12-13 23:22:28
【问题描述】:

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

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

我还尝试在我的表名之前执行INSERT INTO,但已经没有办法让它工作了。我是否需要更新 MySQL 工作台或任何其他建议?

【问题讨论】:

    标签: mysql sql database sql-insert


    【解决方案1】:

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

    【讨论】:

    • 如果您使用 MySql Server 数据库,则不应提供第一部分(ArtistId、name、genre、social_media、G_id)。在 Microsoft SQL Server 版本中是必需的
    猜你喜欢
    • 2021-12-09
    • 2010-10-26
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2020-07-06
    • 2012-07-06
    相关资源
    最近更新 更多