You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

为何无法向MySQL插入数据?ERROR 1064语法错误求助

问题根源:中文全角括号在搞鬼!

兄弟,我一眼就瞅出你卡了一下午的问题出在哪——你语句里的中文全角括号

先看你第一次执行的INSERT语句:

INSERT INTO goods_table (name,kind,price,discount, store ,detail) VALUES("abc","A",3960,10,100,'adf');

注意字段列表最后的右括号——这是中文全角符号,MySQL完全不识别这种括号!你第二次修改后的语句:

insert into `goods_table` (`name`,`kind`,`price`,`discount`,`store`) values ('abc','A',3960,10,100);

同样踩了同一个坑:store后面的右括号还是中文的,不是英文半角的),这才是反复报语法错误的核心原因!

你最后成功的语句,本质是把中文括号换成了英文半角括号,双引号只是巧合——MySQL在默认配置下允许用双引号包裹字符串(只要sql_mode没开启ANSI_QUOTES),真正解决问题的是替换了括号。

正确写法验证

把所有括号换成英文半角的,不管用单引号还是双引号都能正常执行:

单引号版本(SQL标准写法,推荐)

INSERT INTO goods_table (name, kind, price, discount, store, detail) VALUES('abc', 'A', 3960, 10, 100, 'adf');

双引号版本(MySQL默认支持)

INSERT INTO goods_table (name, kind, price, discount, store, detail) VALUES("abc", "A", 3960, 10, 100, "adf");

避坑小技巧

  • 写SQL时尽量保持英文输入法状态,尤其是括号、逗号、引号这类符号,很容易不小心切到中文输入法打错
  • 遇到语法错误时,重点看报错提示里的near 'xxx'部分,你两次报错都指向括号附近,其实已经给了明确线索啦!

内容的提问来源于stack exchange,提问作者doUWannaBuildASnowMan

火山引擎 最新活动