MySQL 教材:指令回溯

在 MySQL 的文字操作介面內,按向上的箭頭可以回溯前一列字串。 依此類推可以一直向前回溯,也可以按向下的箭頭返回。 如果回溯的字串本身是一個完整的指令 (有頭有尾有分號), 那麼,按 Enter 就能執行。 您也可以用左、右箭頭,或是 Backspace 或 Delete 按鍵來修改那一列的字串。

指令回溯的最大困惑是,如果前面的指令寫了不只一列,例如

mysql> create table T1 (
    -> id int unsigned auto_increment primary key,
    -> name char(10) not null,
    -> gender enum('F', 'M') not noll,
    -> birthday date,
    -> phone char(32)
    -> );
ERROR 1064: You have an error in your SQL syntax near 'noll,
    ... at line 4
其中第四列打錯字了 (noll 應該是 null),MySQL 並不會在第四列按了 Enter 之後就跟您說打錯字了。因為 MySQL 直到你輸入分號之後,才開始處理整個指令字串。 現在,當您發現錯了,可以回溯以前的字串。 但是,不可以只回溯第四列,只修改它而已。 應該要回溯到第一列、按 Enter,然後第二列、按 Enter, 然後第三列、按 Enter,然後第四列、修改、按 Enter, 然後第四列、按 Enter,如此下去。 簡言之,就是要把前述的七列指令全部回溯一遍。

這種操作,需要經驗,多說無益,讀者還是自己練習吧。

習題

  1. 做以下實驗,看看結果如何?您是否從這個實驗中知道什麼 MySQL 的特性?
    mysql> CREATE TABLE text (id INT UNSIGNED, test CHAR(100));
    mysql> INSERT INTO text VALUES (1, 'This is a test
        '> for the \'quot mark\'
        '> and line breaks'
        -> );
    mysql> SELECT * FROM text;
[BCC16-A]
單維彰 (01/05/30) ---
[Prev] [Next] [Up]