如何在PostgreSQL 9.5中为“ nt限制数据类型设置的大小
技术问答
67 人阅读
|
0 人回复
|
2023-09-13
|
我正在用MySQL的SQL的PostgreSQL,我只想用这个有效的段落SQL代码创建表:
6 x& `% L N0 {9 D0 j' }" h- tCREATE 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));我犯了错误/ b/ Y; w9 o/ z7 ?1 g( ^0 l
ERROR: syntax error at or near "("LINE 3: pk_flat_id integer(30) DEFAULT 1,我已经在网上进行搜索,但没有找到答案,而且我似乎在PostgreSQL手册里找不到答案。我做错了什么?
* B0 r6 | S/ [6 `0 ]我清楚地想插入 pk_flat_id限制字段中的位数设置
* P/ H. A$ O. X: Z% o' C' `
- g; j/ V9 M/ a6 J9 l 解决方案: # J% q" J) A( i
我清楚地想插入 pk_flat_id限制字段中的位数设置
& f) n0 B5 r: S/ z- C$ T4 N; z您当前的表定义并 没有 以任何方式征收大小限。MySQL的参数int数据类型暗示 在列显示宽度的应用 中显示
; z. | b) f. k, j8 R它。
; ]! N1 |! E3 ^$ r您可以int(1)存储值2147483647,无问题。7 l+ u( T' ~3 ^2 z0 e. G, R
检查约束可用于限制存储在整数列中的值:+ L& P6 [9 ^, m* U: e, X# C# \
CREATE 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 <= |
|
|
|
|
|