You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

初学SQL建表遇语法错误:如何修复'near "("'报错?

解决SQL建表语法错误的方案

问题根源

你碰到的Error: near "(": syntax error,主要是因为部分数据库(比如SQLite、PostgreSQL)不支持在int类型后用括号指定长度,只有MySQL等少数数据库允许这种写法。另外你的phoneNumber字段用int类型也存在逻辑问题。

修正后的建表代码

改用通用SQL标准写法,适配绝大多数数据库:

CREATE TABLE clients
(
    clientID INTEGER, 
    firstName VARCHAR(15), 
    surname VARCHAR(15), 
    email VARCHAR(50), 
    phoneNumber VARCHAR(10)
);

关键修改说明

  • 移除int后的括号:把int(5)改成INTEGER(或INT),整数类型的显示长度在现代数据库里基本没用,而且非MySQL数据库不支持这种语法,直接用基础整数类型更稳妥。
  • 电话号码改用字符串类型:phoneNumber从int(10)改成VARCHAR(10),因为电话号码不是数值,可能包含开头0、国际区号的加号,而且超过10位的话int会溢出,字符串存储才是正确选择。

额外排查点

  • 确认你的数据库类型:如果用的是MySQL,原代码本身没问题,那要检查是否有全角标点、拼写错误;如果是SQLite,必须去掉int后的括号。
  • 检查语句末尾的分号:确保是英文半角分号,有些编辑器会自动转成全角,这也会导致语法错误。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 17:59:52