SQL中能否连续定义varchar类型?创建表报错问题排查
SQL创建表时语法错误:多varchar字段报错的实际原因
在创建Customer表时,定义两个varchar类型字段执行报错,但单个varchar字段可正常运行。原创建表代码如下:
CREATE TABLE IF NOT EXISTS Customer( user_id integer ccnum integer expdate timestamptz name varchar(30) email varchar(100) );
执行时出现的错误:
Error: near line 8: in prepare, near "email": syntax error (1) [Execution complete with exit code 1]
实际问题和varchar类型无关,是所有字段定义之间都缺少逗号分隔符。SQL要求表的每个字段定义必须用逗号隔开,你的代码中所有字段(包括integer、timestamptz类型的字段)后面都没加逗号,导致解析器无法识别每个字段的边界,最终在解析email字段时触发语法错误。
修正后的代码:
CREATE TABLE IF NOT EXISTS Customer( user_id integer, ccnum integer, expdate timestamptz, name varchar(30), email varchar(100) );
内容的提问来源于stack exchange,提问作者stanjudas
相关产品推荐
相关产品推荐

