출처 : http://blog.naver.com/young4862/100204448362


비주얼 스튜디오 (컴파일러) 비트 수와 mysql 라이브러리 비트수가 일치하지 않을 때도 에러 발생.

그런데 MySQL 커뮤니티 서버 설치할 때 보니까 비트 선택하는 부분이 없어서..

한참 찾다가-


커스텀 설치로 들어가니까 x86 으로 설치 가능하던...


x86(32비트) 로 설치하고 해당 폴더에 있는 include 폴더와 lib 폴더를 사용하니 링크 에러가 더이상 발생하지 않는다.


아자!

'DBMS > MySQL' 카테고리의 다른 글

ubuntu 에서 mysql 설치 시 문제  (0) 2017.01.24
Foreign Key 설정 방법 및 옵션 설명  (0) 2014.08.22
ifnull, coalesce  (0) 2014.08.21

ubuntu 에서 mysql 을 설치했는데 설치하자마자 접속할 수 없었다.

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


구글링...


http://lovestudycom.tistory.com/73

-> 하지만 내 서버 /etc/mysql/ 경로에 my.conf 파일은 존재하지 않았음 (conf.d 만 존재)


재설치 시도.

-> 에러 발생


etc/mysql/my.cnf.fallback doesn't exist 



my.conf 파일을 임의로 만들어 주고 재설치 시도

-> 워닝 발생


 update-alternatives: warning: not replacing /etc/mysql/my.cnf with a link


-> 그래서 이 파일은 원래 링크 파일은 듯 하여 임의로 생성한 파일을 삭제하고 해당 문구를 또 구글링..


설치 시 mysql-server 뿐 아니라 mysql-client 도 깔아야 한다는 사실을 깨달음.


아래 재설치 명렁어 수행 후 정상 작동 확인!!!!


sudo apt-get remove --purge mysql-\*

sudo rm -rf /etc/mysql /var/lib/mysql

sudo apt-get autoremove

sudo apt-get autoclean


sudo apt-get install mysql-server mysql-client


'DBMS > MySQL' 카테고리의 다른 글

C 언어에서 MySQL 연결할 때 링크 에러가 발생하면  (0) 2017.01.24
Foreign Key 설정 방법 및 옵션 설명  (0) 2014.08.22
ifnull, coalesce  (0) 2014.08.21





1. Foreign Key(외래키)는 DB 에서 참조 무결성을 보장하기 위해 사용된다.

   - 참조 무결성이란? 자식 table 안에 1개의 필드(Columm)가 부모 table 의 필드를 참조하는 관계에서 부모 쪽 데이터의 삭제 또는 업데이트로 인해 참조가 불가능 한 경우를 만들지 않기 위함.

 

2. Foreign Key 를 가지는 부모테이블과 자식 테이블은 Engine 이 InnoDB 여야만 한다.

 

3. Foreign Key 로 설정할 두 테이블의 필드는 같은 데이터 형을 가지고 있어야 한다.

 

4. Foreign Key 로 설정하여 참조할수 있는 값은 꼭 Primary Key 가 아니여도, Unique(인덱스) 이면 가능하다.

 

5. Foreign Key 로  설정이 불가능한 데이터 형은 BLOB,TEXT 형이다.

 

6. Foreign Key 를 설정 할때 Constraint 는 DB 내에서 유일해야한다. (지정하지 않으면 자동으로 지정됨)

 

7. Foreign Key는 테이블 생성시 설정 또는 생성 후에 ALTER 명령어로 설정할 수 있다.

 

   sql 문 : ALTER TABLE 자식 테이블명

              ADD FOREIGN KEY (자식 테이블의 컬럼명) REFERENCES 부모 테이블명(부모 테이블의 컬럼명)

              ON UPDATE 옵션 ON DELETE 옵션;

 

8. Foreign key 옵션 

    * 여기서 햇갈리지 말아야 할 것,!

      만약 A 테이블이 부모 테이블이고 B 테이블이 자식 테이블이라 가정하고, FK에 해당하는 필드가 A_NO와 B_NO 라 할 때, A_NO와 B_NO의 값이 같은 데이터들에 대하여 아래에서 말하는것을 잊지말자.

     

   1) On Delete

 Cascade : 부모 데이터 삭제시 자식 데이터도 동시 삭제.

 Set null : 부모 데이터 삭제시 해당되는 자식 데이터의 Columm은  Null 로 처리.

 Set default : 부모 데이터 삭제시 자식 데이터의 Columm은 기본 값(Default) 으로 Update.

 Restrict : 자식 테이블에 데이터가 남아 있는 경우 부모 테이블의 데이터는 삭제 불가.

 No Action :  

 

  2) On Update

Cascade : 부모 데이터 수정시 자식 데이터도 동시 수정.

Set null : 부모 데이터 수정시 해당되는 자식 데이터의 Columm은 Null 로 처리.

Set default : 부모 데이터 수정시 자식 데이터의 Columm은 기본 값(Default) 으로 Update.

Restrict : 자식 테이블에 데이터가 남아 있는 경우 부모 테이블의 데이터는 수정 불가.

No Action :

 

* NO ACTION

참조되는 측 관계변수에 대해 UPDATE, DELETE 가 실행됩니다. DBMS에서 SQL문장의 실행 종료시에 참조 정합성을 만족하는지 검사합니다. RESTRICT와 차이점은 트리거 또는 SQL문장의 시멘틱스 자체가 외래키의 제약을 채울것이라는 데에 있습니다. 이때는 SQL 문장 실행이 성공합니다. 외래 키의 제약이 만족되지 않은 경우에는 SQL문장이 실패한다.

 

 

   * On Delete 나 On Update 가 지정되어 있지 않으면 NO ACTION 이 기본 값으로 설정된다.

   * MySQL 에서는 Set Default 를 지원하지 않는다.

 

 

9. 그 밖의 참고 명령문

    1) test 테이블의 외래 키 제약을 나열시키는 명령문 : SHOW TABLE STATUS FROM 데이터베이스명 LIKE 'test';





출처 : http://congi.tistory.com/entry/Foreign-Key-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95-%EB%B0%8F-%EC%98%B5%EC%85%98-%EC%84%A4%EB%AA%85




'DBMS > MySQL' 카테고리의 다른 글

C 언어에서 MySQL 연결할 때 링크 에러가 발생하면  (0) 2017.01.24
ubuntu 에서 mysql 설치 시 문제  (0) 2017.01.24
ifnull, coalesce  (0) 2014.08.21



일단


ifnull 과 coalesce 는 둘다 지정한 값이 널이면 다른 값으로 변환해주는 함수.

mssql로 치면 isnull(val,'') 로 보면 되겠다.


차이점은 사용법에 있다.


ifnull(val, '')

 : 항목은 두 개 뿐으로, 하나가 null이면 다른 값을 출력한다. 순서는 상관없다.

coalesce(val1, val2, val3, val4...)

 : 항목은 여러 개 가능하고, 처음으로 만나는 null이 아닌 값을 출력한다.




단, 이 함수들은 에러를 리턴할 수 있다.


ex.

select isnull(null, null);
-> results in an error

select isnull(null, cast(null as varchar));
-> returns null

select coalesce(null, null, null, null, null);
-> results in an error

select coalesce(null, null, null, null, 'first non-null value');
-> returns 'first non-null value'



덧. 위 에러 예제들에 보면 다음과 같은 문구가 있는데

MSSQL does more strict type and parameter checking. Further, it doesn't have IFNULL function but instead ISNULL function, which needs to know the types of the arguments.

ifnull이 문제라는건지 isnull이 문제라는 건지 모르겠다. 두번째 문장이 해석이 안됨;




+ Recent posts