MySQL memo优化_mysql memo
修改字段
ALTER?TABLE`sl_shop`CHANGE`weixin_m3``weixin_m3`VARCHAR(100)CHARACTERSETgbkCOLLATEgbk_chinese_ciNULLCOMMENT'微信菜單欄3文字'
Currently, MySQL formally implements foreign keys only when
using the InnoDB table type but generally ignores their existence
otherwise. Hence, foreign keys in MySQL are more of a theoretical
presence than a binding one, although this should change in later
versions of the software.
テーブルごとにストレージエンジンの選択が可能。MyISAMにはトランザクション機能がない、InnoDBにはPostgreSQL相當のトランザクション機能がある
MySQL 5.1 リファレンスマニュアルに
InnoDB以外のストレージエンジンについては、MySQL サーバでは現在、CREATE
TABLE?ステートメントで?FOREIGN
KEY構文のみが解析されますが、
この情報は使用/保存されません。近いうちに、この情報がテーブル仕様ファイルに保存され、mysqldump?および
ODBC によって取得できるように、この実裝を拡張する予定です。
さらにその後には、MyISAMテーブルについても外部キー制約を実裝する予定です。
mySQL version confirmation C:\xampp\mysql\bin>mysql -u root
-p pinphp -e "select version();"
You are using safe update mode and you tried to update a table
without a WHERE that uses a KEY column To disable safe mode, toggle
the option in Preferences -> SQL Queries and reconnect.
Solution: SET SQL_SAFE_UPDATES = 0;
linux 下,mysql 的表名默認是區分大小寫的,windows 下默認不區分大小寫,我們大多數在windows
下開發,之后遷移到linux,可以修改配置是linux下,myql 表名不區分大小寫
MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:
1、數據庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴格區分大小寫的;?MySQL在Windows下都不區分大小寫
1. 修改 etc/my.cnf 文件 添加 ?lower_case_table_names =1
其中
0:區分大小寫,1:不區分大小寫
我的linux 服務器上沒有找到my.cnf文件,解決方法如下
Linux下用rpm包安裝的MySQL是不會安裝/etc/my.cnf文件的,
至于為什么沒有這個文件而MySQL卻也能正常啟動和作用,在這有兩個說法,
第一種說法,my.cnf只是MySQL啟動時的一個參數文件,可以沒有它,這時MySQL會用內置的默認參數啟動,
第二種說法,MySQL在啟動時自動使用/usr/share/mysql目錄下的my-medium.cnf文件,這種說法僅限于rpm包安裝的MySQL,
解決方法,只需要復制一個/usr/share/mysql目錄下的。cnf文件到/etc目錄,并改名為my.cnf即可。
2.
注意,?lower_case_table_names =1
的配置需要添加在my.cnf 文件的mysqld 配置節中
3. 重啟mysql 服務, service
mysql restart
4.
只有添加配置后添加的表才不區分大小寫的,之前添加的表
還是區分大小寫的,這點需要特別注意,建議最好做好編程規范,嚴格按照默認規則編寫sql
總結
以上是生活随笔為你收集整理的MySQL memo优化_mysql memo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于zigbee协议栈各层的系统分析
- 下一篇: linux cmake编译源码,linu