ํ
์ด๋ธ์ ์์ฑํ๊ฑฐ๋ ์์ ํ์ง ์์ต๋๋ค.
๋ฌธ์ AUTO_INCREMENT ๋ถ๋ถ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ
์ด๋ธ์ ์์ฑํ๊ฑฐ๋ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์์ผ ํฉ๋๋ค.
AUTO_INCREMENT๋ฅผ ์ฌ์ฉํ๋ ๋์ SQL ์๋ฒ์๋ IDENTITY(1,1)๊ฐ ํ์ํฉ๋๋ค.
๋๊ดํธ ์ฌ์ด์ ์ฒซ ๋ฒ์งธ ์ซ์๋ ์์ ๊ฐ์ด๊ณ ๋ ๋ฒ์งธ ์ซ์๋ ์ฆ๋ถ์
๋๋ค.
์์:
CREATE TABLE ๋ช
(
ID ์ ์ IDENTITY(1,1) ๊ธฐ๋ณธ ํค,
์ด๋ฆ varchar(255) NOT NULL
);
์ด๊ฒ์ด ํฐ ๋ณํ์ ๋๊น? ์ฒซ PR์ด ์ฌ์ธ๊น์?
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ค.
์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ด ์์ต๋๊น?
์ธ์์! 2020๋
์ธ๋ฐ ์์ง ์ด๋ ค์์ต๋๋ค. ์ ๋ฐ ์ด ๋ฌธ์ ๋ฅผ ๋นจ๋ฆฌ ํด๊ฒฐํ์ญ์์ค.
์ฐธ๊ณ ๋ก ์ ๋ HeidiSql v10.3์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ํ ์ค๋ ์ด ์ผ์ ํ๊ณ ์์ต๋๋ค. ๋ด๊ฐ SSMS๋ฅผ ์ด์ด์ผ ํ๋ ์ ์ผํ ์ด์ ์ค ํ๋๋ :(
๋ค์์ ๋ฌธ์ ๋ฅผ ์ค๋ช ํ๋ MS SQL 12.0.5223.6์์ ํ ์ด๋ธ์ ์์ฑํ๋ ์คํฌ๋ฆฝํธ์ ๋๋ค.
CREATE TABLE [dbo].[User](
[Username] [nvarchar](20) NOT NULL,
[FullName] [nvarchar](50) NOT NULL,
[EmailAddress] [nvarchar](100) NULL,
[LastLoginDate] [datetime] NULL,
[IsAdministrator] [bit] NULL,
[Roles] [int] NOT NULL,
[Id] [int] IDENTITY(1,1) NOT NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[CreatedBy] [nvarchar](20) NOT NULL,
[ModifiedAt] [datetime2](7) NULL,
[ModifiedBy] [nvarchar](20) NULL,
[LastPortfolioId] [int] NULL,
CONSTRAINT [PK__User__536C85E5B3CDBFE3] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[User] ADD DEFAULT (getdate()) FOR [CreatedAt]
GO
ALTER TABLE [dbo].[User] ADD DEFAULT (suser_sname()) FOR [CreatedBy]
GO
HeidiSQL 10.3.0.5838์ ๊ธฐ๋ณธ ํค๋ฅผ ๊ฐ์งํ์ง ๋ชปํฉ๋๋ค.
๋ค์์ MS SQL์์ ๊ธฐ๋ณธ ํค ์ธ๋ฑ์ค๋ฅผ ์ ํํ๋ ์คํฌ๋ฆฝํธ์ ๋๋ค(MS SQL์ ์ด๊ธฐ ๋ฒ์ ์ ์๋ ์ ์์).
select schema_name(tab.schema_id) as [schema_name],
tab.[name] as table_name,
pk.[name] as pk_name,
col.name as col_name
from
sys.tables tab
left outer join sys.indexes pk on tab.object_id = pk.object_id and pk.is_primary_key = 1
left join sys.index_columns ic on ic.index_id = pk.index_id and ic.object_id = tab.object_id
inner join sys.columns col on ic.object_id = col.object_id and ic.column_id = col.column_id
order by schema_name(tab.schema_id),
tab.[name]