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

Добавяне на max(value)+1 в нов ред, може ли това да е проблем?

Защо бихте използвали персонализирана Identity поле, когато вече има такова страхотно в SQL Server?

Просто използвайте INT Identity (1,1) за вашето ID поле и автоматично ще се увеличава всеки път, когато се вмъкне ред. Освен това се справя с паралелността много по-добре от почти всичко, което можете да внедрите ръчно.

РЕДАКТИРАНЕ:

Пример за ръчна стойност на ID:

SET IDENTITY_INSERT MyTable ON

INSERT INTO MyTable (IdField, Col1, Col2, Col3,...)
VALUES
(1234, 'Col1', 'Col2', 'Col3',...)

SET IDENTITY_INSERT MyTable OFF

Трябва да включите изричен списък с полета за INSERT .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLCMD Не може да завърши процеса на влизане поради забавяне при отваряне на връзката със сървъра

  2. Намерете всички таблици с поле, съдържащо xml низови стойности

  3. SQL Server SELECT, където всяка колона съдържа 'x'

  4. Свържете PHP към MSSQL чрез PDO ODBC

  5. Изберете няколко SQL реда в един ред