데이터 베이스 MySQL 튜토리얼 Navicat for SQL使用注意(设置默认字符集,外键保存不了)

Navicat for SQL使用注意(设置默认字符集,外键保存不了)

Jun 07, 2016 pm 02:51 PM
for navicat sql 사용 성격 알아채다 설정 기본

最近用mysqlNavicat for sql开发项目时遇到了以下问题: 1.默认创建的数据库,字符集编码为:latin1 -- cp1252 West European 在数据库中存储中文时会出现乱码错误 2.用Navicat给数据库添加外键约束时,保存不了,保存后消失 解决方案: 1对于字符集问题有3

로그인 후 복사

最近用mysql+Navicat for sql开发项目时遇到了以下问题:

1.默认创建的数据库,字符集编码为:latin1 -- cp1252 West European

     在数据库中存储中文时会出现乱码错误


2.用Navicat给数据库添加外键约束时,保存不了,保存后消失



解决方案:

1对于字符集问题有3种解决方式,设置字段字符集,表的字符集,数据字符集

其中设置字段字符集,表的字符集方法较笨,需要一个一个的设置,这里就简要说明下:


在navicat中选择要操作的表,选择“设计”,将光标放置在要修改的字段上,即可在下方修改该字段的字符集


同上,选择”设计“后,在选项中可以看到字符集一栏,修改后就完成了表的字符集修改

最后说下修改数据库的默认字符集,修改数据库的默认字符集必须在创建数据库的时候完成,如果数据库中已存在其他字符集的表,字段,则修改不会生效

如下图,在新建数据库时设置字符集




2.对于外键约束保存不了或者保存后消失的,有两个原因

1)数据库的FOREIGN_KEY_CHECKS=0;所有外键约束被禁用了

查看当前FOREIGN_KEY_CHECKS的值可用如下命令

    SELECT  @@FOREIGN_KEY_CHECKS;

之后再用
    SET FOREIGN_KEY_CHECKS=1;
来启动外键约束.

2) MySQL 中只有 InnoDB 类型的表才支持外键与存储过程 

所有要建立外键的字段必须建立索引

创建数据库时设置表类型为InnoDB


CREATE TABLE `roottb` (
`id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
`data` VARCHAR(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) TYPE=InnoDB;
로그인 후 복사

在Navicat中,新建表时,在选项中设置引擎为InnoDB



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

navicat에서 인터페이스 글꼴 크기를 조정하는 방법 navicat에서 인터페이스 글꼴 크기를 조정하는 방법 Apr 24, 2024 pm 04:24 PM

navicat에서 인터페이스 글꼴 크기를 조정하는 방법

navicat의 er 다이어그램을 내보내는 방법 navicat의 er 다이어그램을 내보내는 방법 Apr 24, 2024 pm 04:21 PM

navicat의 er 다이어그램을 내보내는 방법

navicat에서 데이터베이스를 다른 데이터베이스로 복사하는 방법 navicat에서 데이터베이스를 다른 데이터베이스로 복사하는 방법 Apr 24, 2024 pm 07:24 PM

navicat에서 데이터베이스를 다른 데이터베이스로 복사하는 방법

Navicat 캐시 파일은 어디에 있나요? Navicat 캐시 파일은 어디에 있나요? Apr 24, 2024 pm 06:06 PM

Navicat 캐시 파일은 어디에 있나요?

navicat을 사용하여 테이블 구조를 단어로 내보내는 방법 navicat을 사용하여 테이블 구조를 단어로 내보내는 방법 Apr 24, 2024 pm 07:57 PM

navicat을 사용하여 테이블 구조를 단어로 내보내는 방법

navicat에서 실수로 삭제된 테이블을 복구하는 방법 navicat에서 실수로 삭제된 테이블을 복구하는 방법 Apr 24, 2024 pm 06:21 PM

navicat에서 실수로 삭제된 테이블을 복구하는 방법

navicat에서 이전 단계를 실행 취소하는 방법 navicat에서 이전 단계를 실행 취소하는 방법 Apr 24, 2024 pm 05:48 PM

navicat에서 이전 단계를 실행 취소하는 방법

navicat과 datagrip 중 어느 것이 더 사용하기 쉽나요? navicat과 datagrip 중 어느 것이 더 사용하기 쉽나요? Apr 24, 2024 pm 07:15 PM

navicat과 datagrip 중 어느 것이 더 사용하기 쉽나요?

See all articles