Heidisql: Heidi SQL์€ ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋น„ํŠธ๊ฐ€ ์žˆ๋Š” ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

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

  1. 1 ๋‹จ๊ณ„; "ID"(int)๋กœ ๊ฐ„๋‹จํ•œ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. "ํ…์ŠคํŠธ(varchar50)"; "๋น„ํŠธ ์œ ํ˜•"(๋น„ํŠธ)
  2. 2 ๋‹จ๊ณ„; ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๋”ฐ๋ผ 2๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋กœ ํ…Œ์ด๋ธ”์„ ์ฑ„์šฐ์‹ญ์‹œ์˜ค.
  3. ๋‹จ๊ณ„ N; ๋‹ค๋ฅธ ํ…์ŠคํŠธ๋กœ ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  "๊ฒŒ์‹œ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์‹ญ์‹œ์˜ค.
  4. ๊ทธ๋Ÿฐ ๋‹ค์Œ... "SQL ์˜ค๋ฅ˜(102): '0'์— ๊ฐ€๊นŒ์šด ๊ตฌ๋ฌธ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋ฌธ์ œ๋Š” ์ƒ์„ฑ๋œ SQL์ด SQL ํ‘œ์ค€์„ ๋”ฐ๋ฅด์ง€ ์•Š์•„ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
๊ฒฌ๋ณธ
์—…๋ฐ์ดํŠธ TOP(1) "Checkmarx"."dbo"."๋น„ํŠธ ํ…Œ์ŠคํŠธ ํ…Œ์ด๋ธ”"
SET "ํ…์ŠคํŠธ"='test5'
์–ด๋””์— "ID"=4
๊ทธ๋ฆฌ๊ณ  "ํ…์ŠคํŠธ"='ํ…Œ์ŠคํŠธ4'
AND "๋น„ํŠธ ์œ ํ˜•"=b'0';
/* SQL ์˜ค๋ฅ˜(102): '0'์— ๊ฐ€๊นŒ์šด ๊ตฌ๋ฌธ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. */
๊ทธ ์ด์œ ๋Š” "bit type"=b'0'์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. "b"๊ฐ€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

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

์—…๋ฐ์ดํŠธ TOP(1) "Checkmarx"."dbo"."๋น„ํŠธ ํ…Œ์ŠคํŠธ ํ…Œ์ด๋ธ”"
SET "ํ…์ŠคํŠธ"='test5'
์–ด๋””์— "ID"=4
๊ทธ๋ฆฌ๊ณ  "ํ…์ŠคํŠธ"='ํ…Œ์ŠคํŠธ4'
AND "๋น„ํŠธ ์œ ํ˜•"='0';
์ด๊ฒƒ์€ "b"๊ฐ€ ์—†๋Š” ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •๋œ ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ "query" ์˜ต์…˜์—์„œ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ…์ŠคํŠธ๋Š” 'test5'๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

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

์ด ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์ง€๋„๋ก Microsoft SQL ์„œ๋ฒ„์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ SQL ๊ตฌ๋ฌธ์„ ์ƒ์„ฑํ•˜๋„๋ก ๋„๊ตฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค. ๋‚˜์ค‘์— ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ

  • HeidiSQL ๋ฒ„์ „:

    ๋ฒ„์ „ 9.5.0.5278 ์ตœ์‹  ๋นŒ๋“œ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๋ฐ ๋ฒ„์ „:

    ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๊ตฌ๋ฌธ์ด Microsoft SQL์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ DB๋ฅผ ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

MSSQL ์„œ๋ฒ„ 2012์˜ ์ตœ์‹  ๋นŒ๋“œ 11.0.7469.6

  • ์šด์˜ ์ฒด์ œ:

๊ด€๋ จ ์—†์Œ

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•,
dbconnections.pas ํŒŒ์ผ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ 'b'๊ฐ€ ์‚ฌ์šฉ๋œ ํ–‰์ด 3๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค„ 7290์€ MYSQL์— ๊ณ ์œ ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ์ผ๋ฐ˜ ๊ธฐ๋Šฅ์€ ์ค„ 6628์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. MSSQL์˜ ๊ฒฝ์šฐ 'b'๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด ์ถ”์ฒœ์ž…๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์„ ๋นŒ๋“œํ•  ํ™˜๊ฒฝ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž€๋‹ค!

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

์•ˆ๋…•,
dbconnections.pas ํŒŒ์ผ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ 'b'๊ฐ€ ์‚ฌ์šฉ๋œ ํ–‰์ด 3๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค„ 7290์€ MYSQL์— ๊ณ ์œ ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ์ผ๋ฐ˜ ๊ธฐ๋Šฅ์€ ์ค„ 6628์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. MSSQL์˜ ๊ฒฝ์šฐ 'b'๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด ์ถ”์ฒœ์ž…๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์„ ๋นŒ๋“œํ•  ํ™˜๊ฒฝ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž€๋‹ค!

๋‚˜๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค๊ฐ€์—†๋Š” MSSQL ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ๋ฅผ ํŽธ์ง‘ ํ•  ๋•Œ ํ•ญ์ƒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

MSSQL์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
UserName์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ชจ๋“  ๋น„ํŠธ ํ•„๋“œ๊ฐ€ "T,rue" ๋˜๋Š” "F,alse"๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ƒˆ๋กœ ๊ณ ์นจ์„ ํ•˜๋ฉด 1๊ณผ 0์ด ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ƒ์„ฑ "์‚ฌ์šฉ์ž ํŒŒ์ผ"(
"์‚ฌ์šฉ์ž ID" INT๊ฐ€ NULL์ด ์•„๋‹™๋‹ˆ๋‹ค.
"UserActive" BIT NULL DEFAULT NULL,
"userrealname" VARCHAR(100) NULL DEFAULT NULL,
"์‚ฌ์šฉ์ž ์ด๋ฆ„" VARCHAR(15) NULL์ด ์•„๋‹™๋‹ˆ๋‹ค.
"๋น„๋ฐ€๋ฒˆํ˜ธ" VARCHAR(32) NULL DEFAULT NULL,
"ViewRight" BIT NULL DEFAULT NULL,
"AddRight" BIT NULL DEFAULT NULL,
"EditRight" BIT NULL DEFAULT NULL,
"DeleteRight" BIT NULL DEFAULT NULL,
"UserActivityRight" BIT NULL ๊ธฐ๋ณธ๊ฐ’ NULL,
"ManagmentRight" BIT NULL DEFAULT NULL,
๊ธฐ๋ณธ ํ‚ค("์‚ฌ์šฉ์ž ์ด๋ฆ„"),
๊ณ ์œ  ์ธ๋ฑ์Šค "๊ณ ์œ "("์‚ฌ์šฉ์ž ID")
)
;

์ด๊ฒƒ์€ MSSQL 13.0(SQL Server 2016)์ด ์žˆ๋Š” HeidiSQL ๋ฒ„์ „ 11.0.0.6049(64๋น„ํŠธ)์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด 0 ๋ฐ 1 ์ˆซ์ž๋กœ ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/constants-transact-sql?view=sql-server-2016#bit -constants

๋˜๋Š” (0) ๋ฐ (1) $ ์™€ ๊ฐ™์ด ๊ด„ํ˜ธ๋กœ ๋ฌถ์ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@ansgarbecker ์—…? ๐Ÿ™‚

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰