내가이 그냥 추측Probleme는
INSERT INTO FR_METIERPUBLI(
D_NIDMTR,
D_NIDPUBLI
)
VALUES (
'SELECT MAX(D_NIDMTR) FROM FR_METIERPUBLI + 1', 1000
내가 데이터베이스를 모른 채 내 ID
내가이 그냥 추측Probleme는
INSERT INTO FR_METIERPUBLI(
D_NIDMTR,
D_NIDPUBLI
)
VALUES (
'SELECT MAX(D_NIDMTR) FROM FR_METIERPUBLI + 1', 1000
내가 데이터베이스를 모른 채 내 ID
은 적어도 중복 당신이 할 수
(SQL에 서버를 얻을 것이다 .. 그러나 이 ..if이 작업에 매우 조심
INSERT INTO FR_METIERPUBLI(
D_NIDMTR,
D_NIDPUBLI)
SELECT MAX(D_NIDMTR) +1, 1000 FROM FR_METIERPUBLI
시도 동시에이 작업을 수행) 트랜잭션에서 랩하고 이러한 잠금을 지정하십시오.
INSERT INTO FR_METIERPUBLI(
D_NIDMTR,
D_NIDPUBLI)
SELECT MAX(D_NIDMTR) +1, 1000 FROM FR_METIERPUBLI with (UPDLOCK, HOLDLOCK)
왜 시퀀스 또는 ID를 사용하지 않습니까?
을 증가하려는 오류를 가지고 있지만,이 시도 :
INSERT INTO FR_METIERPUBLI
(D_NIDMTR,D_NIDPUBLI)
SELECT
ISNULL(MAX(D_NIDMTR),0)+ 1, 1000
FROM FR_METIERPUBLI
:
INSERT INTO FR_METIERPUBLI
(D_NIDMTR,D_NIDPUBLI)
SELECT
MAX(D_NIDMTR)+ 1, 1000
FROM FR_METIERPUBLI
SQL Server에 대해,이를 이용하여 기존의 어떤 행에 대한 보호 노력
게시 해 주셔서 감사합니다. 나는 내 자신을 바보로 만들려고했다. –
작은 따옴표를 삭제하십시오. 그리고 사용중인 SQL 데이터베이스 (MySQL)를 알려주십시오. SQL 서버? 포스트그레스? 신탁? – Oded
특히 중복 데이터베이스 ID로 인해 여러 클라이언트가 데이터베이스에 동시에 액세스 할 수있는 경우 이처럼 기본 키를 할당하면 안됩니다. 대부분의 DB 시스템은 사용자가 사용해야하는 시퀀스 또는 자동 증가 필드를 제공합니다. – RoToRa