如何在PostgreSQL 9.5中为“ nt限制数据类型设置的大小
技术问答
53 人阅读
|
0 人回复
|
2023-09-13
|
我正在用MySQL的SQL的PostgreSQL,我只想用这个有效的段落SQL代码创建表:
1 j# f( g: w% ?1 B" g& U& R( OCREATE TABLE flat_10( pk_flat_id INT(30) DEFAULT 1, rooms INT(10) UNSIGNED NOT NULL, room_label CHAR(1) NOT NULL, PRIMARY KEY (flat_id));我犯了错误; d" M: x7 \4 Q) ~( ^0 c( _
ERROR: syntax error at or near "("LINE 3: pk_flat_id integer(30) DEFAULT 1,我已经在网上进行搜索,但没有找到答案,而且我似乎在PostgreSQL手册里找不到答案。我做错了什么?
5 T; l" N; r8 m( ?* |我清楚地想插入 pk_flat_id限制字段中的位数设置# e; ]/ {# {7 L/ q" T
& W+ y2 j* X3 U9 |( y. s+ o7 I( G
解决方案:
& W' C+ N( [+ Z. l4 } 我清楚地想插入 pk_flat_id限制字段中的位数设置
9 }2 _# R% S. [/ }" I3 n/ V) Q" j您当前的表定义并 没有 以任何方式征收大小限。MySQL的参数int数据类型暗示 在列显示宽度的应用 中显示# x9 l2 g8 L7 L, s0 V0 Z
它。8 _" K- w3 C+ O. g$ g" s% v
您可以int(1)存储值2147483647,无问题。5 d' ]0 C8 r X! g5 H! u+ M! y
检查约束可用于限制存储在整数列中的值:
% o! N( |8 n: ICREATE TABLE flat_10( pk_flat_id bigint DEFAULT 1, rooms integer NOT NULL, room_label CHAR(1) NOT NULL, PRIMARY KEY (flat_id), constraint valid_number check (pk_flat_id <= |
|
|
|
|
|