为什么我的sql语句在navicat中出错了?

时间:2016-11-07 08:50:03

标签: mysql navicat

INSERT INTO ry_useraccount
(
  'Id', 
  'UserId', 
  'FreeAmount', 
  'PayFrozenAmount', 
  'WithdrawFrozenAmount', 
  'CurrentAsset', 
  'CreateTime', 
  'UpdateTime'
) VALUES
(
  '1', 
  '52501', 
  '600', 
  '0', 
  '0', 
  '0', 
  NOW(), 
  NOW()
);

如果只看一下sql,它是正确的,但当我运行它时,navicat说

  

“[SQL] INSERT INTO ry_useraccount(' Id',' UserId',' FreeAmount',   ' PayFrozenAmount',' WithdrawFrozenAmount',' CurrentAsset',   '创建时间','更新时间')价值观(' 1',' 52501',' 600',' ; 0',' 0',' 0',   NOW(),NOW()); [错误] 1064 - 您的SQL语法有错误;   检查与您的MySQL服务器版本对应的手册   正确的语法,可以使用' Id',' UserId',' FreeAmount',   ' PayFrozenAmount',' WithdrawFrozenAmount',' Curren'在第1行“

。我找不到原因。我猜可能会有一些空白区域导致结果,但是在删除所有空格后,它仍然没有用。

1 个答案:

答案 0 :(得分:1)

单引号用于文字字符串而不是列名称(如果需要包含空格或保留字的列名,可以使用反引号)

INSERT INTO ry_useraccount(Id, UserId, FreeAmount, PayFrozenAmount, WithdrawFrozenAmount, CurrentAsset, CreateTime, UpdateTime) 
VALUES(1, 52501, 600, 0, 0, 0, NOW(), NOW());