中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中如何利用修改sql_mode=NO_TABLE_OPTIONS收集建表語句并去掉engine和charset關鍵字

發布時間:2021-10-27 17:01:48 來源:億速云 閱讀:113 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關mysql中如何利用修改sql_mode=NO_TABLE_OPTIONS收集建表語句并去掉engine和charset關鍵字,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、描述

       平時我們有需求是要根據已有的表來生成建立表語句,直接查看生成過程中會有ENGINE和CHARSET兩個關鍵字,其實我們大多數時候是不需要該參數,如果導出后手工修改腳本,實在是在麻煩了。在這里我們可以使用sql_mode參數,修改為NO_TABLE_OPTIONS來進行收集。當然我們注意點是要修改當前session的變量,而不是全局變量。下面是個小小的實驗,演示一下這個過程。

二、實驗

1.查看sql_mode變量當然值

  1. mysql> show variables like 'sql_mode';

  2. +---------------+--------------------------------------------+

  3. | Variable_name | Value |

  4. +---------------+--------------------------------------------+

  5. | sql_mode | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

  6. +---------------+--------------------------------------------+

  7. 1 row in set (0.01 sec)

2.查看t1表的建立語句,帶有ENGINE與CHARSET兩個參數

  1. mysql> show create table t1;

  2. +-------+----------------------------------------------------------------------------------------------------------------------+

  3. | Table | Create Table |

  4. +-------+----------------------------------------------------------------------------------------------------------------------+

  5. | t1 | CREATE TABLE `t1` (

  6.   `id` int(11) DEFAULT NULL,

  7.   `name` char(20) DEFAULT NULL

  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

  9. +-------+----------------------------------------------------------------------------------------------------------------------+

  10. 1 row in set (0.00 sec)

3.修改sql_mode為NO_TABLE_OPTIONS

  1. mysql> set session sql_mode='NO_TABLE_OPTIONS';

  2. Query OK, 0 rows affected (0.00 sec)


  3. mysql> show variables like '%sql_mode%';

  4. +---------------+------------------+

  5. | Variable_name | Value |

  6. +---------------+------------------+

  7. | sql_mode | NO_TABLE_OPTIONS |

  8. +---------------+------------------+

  9. 1 row in set (0.00 sec)


4.再次查看建t1表SQL語句,沒有ENGINE和CHARSET兩個參數

  1. mysql> show create table t1;

  2. +-------+-----------------------------------------------------------------------------------+

  3. | Table | Create Table |

  4. +-------+-----------------------------------------------------------------------------------+

  5. | t1 | CREATE TABLE `t1` (

  6.   `id` int(11) DEFAULT NULL,

  7.   `name` char(20) DEFAULT NULL

  8. ) |

  9. +-------+-----------------------------------------------------------------------------------+

  10. 1 row in set (0.00 sec)

5.退出會話,使sql_mode參數恢復默認值

關于“mysql中如何利用修改sql_mode=NO_TABLE_OPTIONS收集建表語句并去掉engine和charset關鍵字”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪雅县| 阳信县| 隆回县| 旬邑县| 云龙县| 南昌县| 晋江市| 呼图壁县| 于田县| 武鸣县| 茌平县| 吴桥县| 翁源县| 曲周县| 鹤峰县| 观塘区| 林口县| 新田县| 美姑县| 河间市| 绍兴县| 胶南市| 蕉岭县| 济南市| 商城县| 赤壁市| 嫩江县| 侯马市| 河西区| 宾川县| 绵竹市| 长汀县| 元氏县| 米易县| 双鸭山市| 东乌珠穆沁旗| 清徐县| 广汉市| 广平县| 沂源县| 会宁县|