假设我有一个名为tracker
的表格,列(issue_id,ingest_date,verb,priority)
我想在此表中添加50列。
数据类型为(string_ch_01,string_ch_02,.....,string_ch_50)
的{{1}}列。
有没有更好的方法使用单个过程添加列而不是执行以下alter命50次?
varchar
答案 0 :(得分:0)
是的,更好的方法是一次发出一个包含所有列的ALTER TABLE:
ALTER TABLE tracker
ADD COLUMN string_ch_01 varchar(1020),
ADD COLUMN string_ch_02 varchar(1020),
...
ADD COLUMN string_ch_50 varchar(1020)
;
当新列有DEFAULT非null子句时,它会特别好,因为每个子句都会重写整个表,而不是只重写一次,如果它们被归为一个ALTER TABLE。