【问题标题】:MySQL insert into (enum?) [duplicate]MySQL插入(枚举?)[重复]
【发布时间】:2011-03-20 16:39:58
【问题描述】:

我有一个简单的 mysql 数据库,但出现错误。它可能是字段状态,它是一个非空枚举('actief', 'wachtend', 'verborgen'),但这样应该是正确的。

我已经检查了逗号的 50 次,但也许我现在盯着它太久了。我试过谷歌搜索,但仍然找不到问题。

所有字段都不为空(我省略了可以为空的字段)

INSERT INTO `restaurants` (id_naam, korte_naam, lange_naam, straat, huisnummer, postcode, plaats, provincie, land, type_aanbieding, type_keuken, lat, long, status) VALUES ('test1', 'test1', 'Test restaurant 1', 'straatnaam', '1', '1234AB', 'plaatsnaam', 'Drenthe', 'landnaam', '2emenu', 'frans', '52', '5', 'verborgen');

您的 SQL 语法有错误; 检查对应的手册 您的 MySQL 服务器版本 在 'long 附近使用的正确语法, 状态)值('test1','test1', '测试餐厅 1'、'straatnaam'、 '1', ' 在第 1 行

【问题讨论】:

  • long 是 MySQL 中的保留关键字,不是吗?
  • 是的,这就是问题所在。 (抱歉之前没看到你的评论,小字体)

标签: mysql sql syntax enums


【解决方案1】:

它必须是导致错误的long 字段。这是一个reserved word in MySQL,所以你需要用反引号把它包起来:

INSERT INTO `restaurants` (... `long`, status) VALUES ...

如您所见,与枚举无关。

【讨论】:

  • 啊,好的,谢谢。它也给javascript带来了问题。我想我已经吸取了教训,不再将这个词用作变量。
  • 尼尔斯,如果有帮助,为什么不接受 BoltClock 的回答?
  • 对不起,我第一次在这里问问题
猜你喜欢
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
相关资源
最近更新 更多