PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Добавяне на 'serial' към съществуваща колона в Postgres

Вижте следните команди (особено коментирания блок).

DROP TABLE foo;
DROP TABLE bar;

CREATE TABLE foo (a int, b text);
CREATE TABLE bar (a serial, b text);

INSERT INTO foo (a, b) SELECT i, 'foo ' || i::text FROM generate_series(1, 5) i;
INSERT INTO bar (b) SELECT 'bar ' || i::text FROM generate_series(1, 5) i;

-- blocks of commands to turn foo into bar
CREATE SEQUENCE foo_a_seq;
ALTER TABLE foo ALTER COLUMN a SET DEFAULT nextval('foo_a_seq');
ALTER TABLE foo ALTER COLUMN a SET NOT NULL;
ALTER SEQUENCE foo_a_seq OWNED BY foo.a;    -- 8.2 or later

SELECT MAX(a) FROM foo;
SELECT setval('foo_a_seq', 5);  -- replace 5 by SELECT MAX result

INSERT INTO foo (b) VALUES('teste');
INSERT INTO bar (b) VALUES('teste');

SELECT * FROM foo;
SELECT * FROM bar;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да получа списък с всички функции, съхранявани в базата данни на определена схема в PostgreSQL?

  2. В Postgres липсва грешка при въвеждане на клауза FROM при заявка с клауза WITH

  3. Копиране на PostgreSQL база данни на друг сървър

  4. Как мога да импортирам данни от ASCII (ISO/IEC 8859-1) в моята база данни Rails/PGSQL?

  5. Без диалектно съпоставяне за тип JDBC:2003