關於MySql使用alter的問題

時間 2023-03-25 08:30:10

1樓:匿名使用者

測試了一下, 好像無法讓預設值為 日期 / 時間的。

僅僅有一種特殊情況下可以。

alter table money

modify column

time timestamp not nulldefault current_timestampon update current_timestamp;

但是麻煩的地方在於:

上面的寫法,預設值是可以成為當前日期時間了,但是好像on update current_timestamp 會導致 「更新的時候,也會更新這個欄位。」

2樓:諫豆

對錶結構操作的時候 不能使用函式。

mysql中alter語句中change和modify的區別

3樓:匿名使用者

change 對列進行重新命名或更改列的型別,需給定舊的列名稱和新的列名稱、當前的型別。

modify 可以改變列的型別,此時不需要重新命名(不需給定新的列名稱)

mysql中alter語句中change和modify的區別

4樓:青鳥中關村專家

參考手冊,可以使用change old_col_name column_definition子句對列進行重新命名。重新命名時,需給定舊的和新的列名稱和列當前的型別。

事例:例如:要把一個integer列的名稱從a變更到b,您需要如下操作:

mysql> alter table t1 change a b integer;

如果您想要更改列的型別而不是名稱, change語法仍然要求舊的和新的列名稱,即使舊的和新的列名稱是一樣的。例如:

mysql> alter table t1 change b b bigint not null;

您也可以使用modify來改變列的型別,此時不需要重新命名:

mysql> alter table t1 modify b bigint not null;

關於何時使用change,何時使用modify,其實都是無可厚非的,最主要是個人的習慣。

當需要修改欄位名稱時使用change;當需要修改欄位型別時使用modify,畢竟modify還是比change少寫個欄位名稱的,因次還是比較節約系統資源。

5樓:網友

當需要修改欄位名稱時使用change;當需要修改欄位型別時使用modify

change和modify的具體使用場景如下。

change子句對列進行重新命名。重新命名時,需給定舊的和新的列名稱和列當前的型別。要把一個integer列的名稱從column_a變更到column_b:

alter table t1 change column_a column_b integer;

如果想要更改列的型別而不是名稱, change語法仍然要求舊的和新的列名稱,即使舊的和新的列名稱是一樣的。例如:

alter table t1 change column_b column_b bigint not null;

使用modify來改變列的型別,此時不需要重新命名:

alter table t1 modify column_b bigint not null

6樓:彌訪冬

change:不管要修改的是型別還是欄位名都必須把欄位名列出來,比如:alter table t1 change b b bigint not null;

用modify的話直接是 alter table t1 modify b bigint not null;

mysql中alter語句中change和modify的區別

7樓:情又獨中

有兩點不同。

1 change 可以重新命名列名,也可能修改列的資料型別,而modify只能修改列的資料型別。

2 兩者寫法不同,舉例:

--change

alter table t1 change b a bigint not null;

--如果只需要修改型別。

alter table t1 change b b bigint not null;

--modify

alter table t1 modify b bigint not null;

mysql檢視alter的用法

mysql語句問題

8樓:杜爺1號

親,你在create database d1;這個語句後面需要加「;」表示結束,建立d1資料庫。

建立完資料庫後,需要use d1;這個語句,表示進入你新建的一個資料庫,進去建表。

求高手!!mysql如何刪除非空約束呢??表示alter table alter/modify 欄位名 資料型別 null不對!

sqlserver怎樣使用alter語句修改欄位名

佛系執著 1 新建一個表 student,用做示例,如圖所示。2 首先修改欄位名稱,使用sql語句 execute sp rename 表名.欄位名 新欄位名 如圖所示。例子修改 execute sp rename student.name namenew 3 然後是修改型別,使用sql語句 alt...

關於jdbc的close 與mysql

你用的連線池吧?連線池是沒有真實的關閉,他有個最小連線數和連線空閒等待超時時間。j a如何關閉資料庫連線 一般都是做好一個業務後,關閉。比如一個查詢業務。查詢結果顯示後,關閉。在查詢過程中可能查詢很多基本資訊表,此類查詢不關閉。還有就是,業務的開始,要開啟資料庫連線。如果你控制不好就,每請求一次就關...

MySQL使用delete把表中的資料刪除了,請問怎麼恢復

不是你怎麼寫復的。首先,你要制理解事務的概念。commit rollback是在事務處理中,提交 回滾的命令。其次,你的編輯器,要設定成 不是自動提交資料。比如 delect from tabname 此時,如果想提及,則執行 commit 如果想回滾 rollback 如果你設定的是 自動提交。那...