MySQL使用注意事項記錄(不定期更新)

2021-09-02 23:05:32 字數 1112 閱讀 3713

這篇文章會記錄一些關於mysql使用上容易出錯的地方。

問題複述

create table `my_table` (

`a` char(20) ,

`b` char(20) ,

`c` char(20)

) engine=innodb default charset=utf8;

create unique index uni_abc on my_table (a, b, c);

insert into my_table (a,b,c) values (1,2,null); --- ok

insert into my_table (a,b,c) values (1,2,null); --- ok(預期會插入失敗,但是成功了)

解決方法

c字段設定為不允許為null並且設定預設值就可以了。

問題複述

create table `my_table` (

`name` char(20) not null

) engine=innodb default charset=utf8;

create unique index uni_name on my_table (name);

insert into my_table(name) values ('abc'); --- ok

insert into my_table(name) values ('abc'); --- fail(預期會插入成功,但是卻失敗了)

解決方法

建表時指定大小寫敏感

create table `my_table` (

`name` char(20) character set utf8 collate utf8_bin not null

) engine=innodb default charset=utf8;

參考文章:

未完待續。

mysql使用distinct注意事項

1.mysql使用distinct的使用 一定要位於 查詢的最前端 例項 select distinct sla code,id,sla type,sla place,sla rank 如果放在後面則報錯如 2.select t d,sla type,sla place,sla rank disti...

mysql索引 使用注意事項

索引使用缺點 雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert,update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案 建立索引會占用磁碟空間的索引檔案。一般情況這個問題不太嚴重,但如果你在要給大表上建了多種組合索引,索引檔案會膨脹很寬 ...

mysql索引使用注意事項

單值索引 create index 索引名 on 表名 需要建立索引的字段 復合索引 create index 索引名 on 表名 需要建立索引的字段,需要建立索引的字段,1 不要在索引列上做任何操作 1 不要在索引列使用函式 select sql no cache from a where nam...