Mysql 한글로 FullText 시 참고점

Mysq 4.X 버전 부터(3.X 후반대도 지원한다고 본거 같은데 가물가물..) match against를 통해서 fulltext를 지원하고 있는데,
utf-8로 데이터를 저장할 경우 한글도 fulltext검색이 가능하다.

그런데 한글로 fulltext를 할 때 제대로 되지 않는 문제가 발생해서 여기저기 알아 본 결과,
원인은 fulltext시에 최소 문자열 수에 걸려서 제대로 되지 않았던 것.
예를 들어 ‘한글’ 이라는 글자를 match(text) against(‘한글’)로 검색 할 경우 결과가 나오지 않는다.

해결방법은
my.ini파일을 열어서
[mysqld]아래 부분에
ft_min_word_len=2 라고 적은뒤 mysql을 재시작 한다. 이전 인덱스가 있을 경우에는
Repair table tbl_name 으로 인덱스를 다시 잡아줘야 한다.(라고 mysql에 적혀 있다.)

ft_min_word_len의 기본 값이 4이기 때문에 생긴 문제.

Tags:

Comments

python에서 SQL Update가 적용이 되지 않을 때

python에서 MySQL등에 Cursor를 통해서 Update/Insert를 할 때 결과는 True가 리턴되지만, 값이 적용되지 않는 경우가 있는데,
이경우는 Connection에 autocommit을 True로 하거나 Excute뒤에 commit을 적어준다.

con = MySQLdb.connect(host=’localhost’, user=’doe’ passwd=’doe’ db=’mysql’)
con.autocommit(True)
하거나
cs = con.cursor()
cs.execute(“update temp set ~~”)
cs.execute(“commit”)

Tags:

Comments

Mysql TimeStamp Convert

Mysql 에서 Timestamp형식을 일반 Datetime으로 바꿀 때

select FROM_UNIXTIME(int timestatmp)

반대 일 경우에는?

select TO_UNIXTIME(datetime)
하면 에러다.

select UNIX_TIMESTAMP(datetime)
로 할 것

Tags:

Comments