teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

変更

2017/08/24 12:09

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,8 +1,21 @@
1
1
  MAXのところの項目hogeコードがCHARになっていて数字が入っているとしています
2
2
  ```sql
3
- CREATE SEQUENCE hoge_table_hogeコード_seq;
3
+ ts2100=> CREATE SEQUENCE hoge_table_hogeコード_seq;
4
+ CREATE SEQUENCE
4
- create table hoge_table (hogeコード text);
5
+ ts2100=> create table hoge_table (id char, hogeコード text);
6
+ CREATE TABLE
5
- insert into hoge_table values('100');
7
+ ts2100=> insert into hoge_table values ('A','010'),('B','020'),('C','030');
8
+ INSERT 0 3
9
+ ts2100=> SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード) FROM hoge_table)::int);
10
+ setval
11
+ --------
12
+ 30
13
+ (1 row)
6
14
 
7
- SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード) FROM hoge_table)::int);
15
+ ts2100=> SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード)::int FROM hoge_table));
16
+ setval
17
+ --------
18
+ 30
19
+ (1 row)
20
+
8
21
  ```

2

変更

2017/08/24 12:09

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- たぶんMAXのところの項目がCHARになっていて数字が入っているとしています
1
+ MAXのところの項目hogeコードがCHARになっていて数字が入っているとしています
2
2
  ```sql
3
3
  CREATE SEQUENCE hoge_table_hogeコード_seq;
4
4
  create table hoge_table (hogeコード text);

1

変更

2017/08/24 09:07

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,8 +1,8 @@
1
- たぶんMAXのところの項目がCHARになっているためではな
1
+ たぶんMAXのところの項目がCHARになっていて数字が入ってしています
2
2
  ```sql
3
3
  CREATE SEQUENCE hoge_table_hogeコード_seq;
4
- create table hoge_table (hogeコード int);
4
+ create table hoge_table (hogeコード text);
5
- insert into hoge_table values(100);
5
+ insert into hoge_table values('100');
6
6
 
7
- SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード) FROM hoge_table));
7
+ SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード) FROM hoge_table)::int);
8
8
  ```