본문 바로가기

SQL11

[조각SQL] ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails 해결하기, 이미 생성된 테이블에 cascade 적용 MariaDB [db]> delete from table where id > 170000; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`db`.`table`, CONSTRAINT `table_ibfk_1` FOREIGN KEY (`prev_id`) REFERENCES `table` (`id`)) 테이블에서 데이터를 삭제하려고 시도하니 아래와 같은 로그가 떴다. 이는 다른 테이블에 해당 데이터를 참조하고 있는 외래키가 있기 때문이다. 보통 테이블을 생성할 때 cascade 옵션을 사용하면, pk가 지워지면 해당 pk를 fk로 참조하는 데이터로 연계되어 삭제가 되지만, 내 경우에는 처음에 c.. 2022. 5. 17.
[조각SQL] 칼럼 이름 바꾸기 rename column ALTER TABLE TableName RENAME COLUMN OldColumnName TO NewColumnName; 간-딴! 이렇게 글을 날로먹어도 되는건가? 참조문서 RENAME Column | How To Rename Column Name In SQL? | Edureka The RENAME command is used to rename column name in sql. ALTER TABLE TableName RENAME COLUMN OldColumnName TO NewColumnName; www.edureka.co 2022. 5. 11.
[조각SQL, DB] CASE 구문을 알아보자! 코딩을 하다보니 이런 요구사항이 생겼다. - 특정 값이 있는 행의 다른 열의 값을 바꾸고 싶다, 그것도 한번에 여러개! 단순 UPDATE 구문을 쓰거나, 여러개를 하나씩 쪼개서 작업하는 방식도 있을 수 있으나, 이걸 간지나게 한방에 등록하고 싶었다. 그래서 CASE 문이 나왔다! UPDATE table_name SET col2=CASE table_name.col1 WHEN 'x' THEN 'y' WHEN 'a' THEN 'b' WHEN 'c' THEN 'd' END WHERE table_name.col1 IN ('x', 'a', 'c') 위의 구문처럼, update 뿐만 아니라 select랑도 같이 쓸 수 있다! 2021. 11. 27.
[조각SQL] COL의 명목변수 값 구하기/ SQL DISTINCT 이럴 때가 있다. 칼럼이 categorical value를 가지고 있으며, 이 종류를 알고 싶을 때, SQL에는 UNIQUE 혹은 DISTINCT를 사용한다. SELECT DISTINCT column1, column2, ... FROM table_name; 참고자료 더보기 SQL SELECT DISTINCT Statement W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com.. 2021. 11. 9.