Heidisql: AUTO_INCREMENT๋Š” MSSQL ์„œ๋ฒ„์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 10์›” 30์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: HeidiSQL/HeidiSQL

์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

  1. SQL ์„œ๋ฒ„์— ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ID ์—ด์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
  3. ๊ธฐ๋ณธ๊ฐ’์„ AUTO_INCREMENT๋กœ ์„ค์ •ํ•˜์—ฌ ID ์—ด์„ ์ž๋™ ์ฆ๊ฐ€ํ•˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ…Œ์ด๋ธ”์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ–‰๋™

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฌธ์˜ AUTO_INCREMENT ๋ถ€๋ถ„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ…

AUTO_INCREMENT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  SQL ์„œ๋ฒ„์—๋Š” IDENTITY(1,1)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋Œ€๊ด„ํ˜ธ ์‚ฌ์ด์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์‹œ์ž‘ ๊ฐ’์ด๊ณ  ๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์ฆ๋ถ„์ž…๋‹ˆ๋‹ค.
์˜ˆ์‹œ:
CREATE TABLE ๋ช…(
ID ์ •์ˆ˜ IDENTITY(1,1) ๊ธฐ๋ณธ ํ‚ค,
์ด๋ฆ„ varchar(255) NOT NULL
);

ํ™˜๊ฒฝ

  • HeidiSQL ๋ฒ„์ „:
    9.5.0.5315, ์ตœ์‹  ์•ผ๊ฐ„ ๋นŒ๋“œ. ์‚ฌ์‹ค ์ €๋Š” nightly ๋นŒ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ์•ˆ์ •์ ์ธ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๋ฐ ๋ฒ„์ „:
    SQL ์„œ๋ฒ„, ๋ชจ๋“  ๋ฒ„์ „.
  • ์šด์˜ ์ฒด์ œ:
    ํด๋ผ์ด์–ธํŠธ์˜ Windows 10, ์„œ๋ฒ„์˜ ์•Œ ์ˆ˜ ์—†์Œ.

๋ชจ๋“  5 ๋Œ“๊ธ€

์ด๊ฒƒ์ด ํฐ ๋ณ€ํ™”์ž…๋‹ˆ๊นŒ? ์ฒซ 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์€ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
image

๋‹ค์Œ์€ 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]
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰