本文目錄一覽:
“mysql”表的定義有注釋嗎?
有的,用如下方法:
1、創建表的時候寫注釋
create table test1
(
field_name int comment ‘字段的注釋’
)comment=’表的注釋’;
2、修改表的注釋
alter table test1 comment ‘修改後的表的注釋’;
3、修改字段的注釋
alter table test1 modify column field_name int comment ‘修改後的字段注釋’;
–注意:字段名和字段類型照寫就行
4、查看錶注釋的方法
–在生成的SQL語句中看
show create table test1;
–在元數據的表裡面看
use information_schema;
select * from TABLES where TABLE_SCHEMA=’my_db’ and TABLE_NAME=’test1′ \G
5、查看字段注釋的方法
–show
show full columns from test1;
–在元數據的表裡面看
select * from COLUMNS where TABLE_SCHEMA=’my_db’ and TABLE_NAME=’test1′ \G
請問mysql的注釋有哪幾種呢?
MySQL服務器支持3種注釋風格:
從‘#’字符從行尾。
從‘– ’序列到行尾。請注意‘– ’(雙破折號)注釋風格要求第2個破折號後面至少跟一個空格符(例如空格、tab、換行符等等)。該語法與標準SQL注釋語法稍有不同,後者將在1.8.5.7, “‘–’作為注釋起始標記”中討論。
從/*序列到後面的*/序列。結束序列不一定在同一行中,因此該語法允許注釋跨越多行。
希望可以幫助你,常用的#。希望可以幫助你,參考:PHP程序員,雷雪松的個人博客
誰能解釋一下mysql配置文件
[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking
# 避免MySQL的外部鎖定,減少出錯幾率增強穩定性。
skip-name-resolve
禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求!
back_log = 384
指定MySQL可能的連接數量。當MySQL主線程在很短的時間內接收到非常多的連接請求,該參數生效,主線程花費很短的時間檢查連接並且啟動一個新線程。
back_log 參數的值指出在MySQL暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。如果系統在一個短時間內有很多連接,則需要增大該參數的值,該參數值指定到來的TCP/IP連接的偵聽隊列的大小。不同的操作系統在這個隊列大小上有它自己的限制。
試圖設定back_log高於你的操作系統的限制將是無效的。默認值為50。對於Linux系統推薦設置為小於512的整數。
key_buffer_size = 256M
# key_buffer_size指定用於索引的緩衝區大小,增加它可得到更好的索引處理性能。
對於內存在4GB左右的服務器該參數可設置為256M或384M。
注意:該參數值設置的過大反而會是服務器整體效率降低!
max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M
查詢排序時所能使用的緩衝區大小。注意:該參數對應的分配內存是每連接獨佔!如果有100個連接,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600MB。所以,對於內存在4GB左右的服務器推薦設置為6-8M。
read_buffer_size = 4M
讀查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!
join_buffer_size = 8M
聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!
myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M
指定MySQL查詢緩衝區的大小。可以通過在MySQL控制台執行以下命令觀察:
# SHOW VARIABLES LIKE ‘%query_cache%’;
# SHOW STATUS LIKE ‘Qcache%’;
# 如果Qcache_lowmem_prunes的值非常大,則表明經常出現緩衝不夠的情況;
如果Qcache_hits的值非常大,則表明查詢緩衝使用非常頻繁,如果該值較小反而會影響效率,那麼可以考慮不用查詢緩衝;Qcache_free_blocks,如果該值非常大,則表明緩衝區中碎片很多。
tmp_table_size = 256M
max_connections = 768
指定MySQL允許的最大連接進程數。如果在訪問論壇時經常出現Too Many Connections的錯誤提 示,則需要增大該參數值。
max_connect_errors = 10000000
wait_timeout = 10
指定一個請求的最大連接時間,對於4GB左右內存的服務器可以設置為5-10。
thread_concurrency = 8
該參數取值為服務器邏輯CPU數量×2,在本例中,服務器有2顆物理CPU,而每顆物理CPU又支持H.T超線程,所以實際取值為4 × 2 = 8
skip-networking
開啟該選項可以徹底關閉MySQL的TCP/IP連接方式,如果WEB服務器是以遠程連接的方式訪問MySQL數據庫服務器則不要開啟該選項!否則將無法正常連接!
在主服務器和從服務器上,均必須使用server-id選項為每個服務器建立唯一的複製ID。你應為每個主服務器和從服務器從1到232–1的範圍挑一個唯一的正整數。例如:server-id=3
用於主服務器上控制二進制日誌的選項的相關描述見5.11.3節,“二進制日誌”。
下表描述了可以用於MySQL 5.1從屬複製服務器的選項。你可以在命令行中或在選項文件中指定這些選項。
某些從服務器複製選項按特殊方式處理,當從服務器啟動時如果master.info文件存在並且包含選項值,它們將被忽略掉。下面的選項按這種方式處理:
· –master-host
· –master-user
· –master-password
· –master-port
· –master-connect-retry
· –master-ssl
· –master-ssl-ca
· –master-ssl-capath
· –master-ssl-cert
· –master-ssl-cipher
· –master-ssl-key
5.1 中的master.info文件格式包括對應SSL選項的值。並且,文件格式包括文件中的行號,如同第1行。如果你將舊的服務器升級到新的版本,新服務器啟動時自動將smaster.info文件升級到新的格式。然而,如果將新服務器降級到舊的版本,首次啟動舊版本的服務器之前應刪除第1行。
如果從服務器啟動時master.info文件不存在,選項採用選項文件或命令行中指定的值。首次將服務器作為從服務器啟動時,或者已經運行RESET SLAVE然後已經關閉並重啟從服務器時會發生。
如果從服務器啟動時master.info文件存在,服務器忽略那些選項。使用master.info文件中發現的值。
如 果你使用與master.info文件中相對應的啟動選項的不同的值重啟從服務器,啟動選項的不同的值不會生效,因為服務器繼續使用 master.info文件。要想使用啟動選項的不同的值,必須刪除master.info文件並重啟從服務器,或(最好是)在從服務器運行時使用 CHANGE MASTER TO語句重新設置值。
假定在my.cnf文件中指定該選項:
[mysqld]
master-host=some_host
第1次作為複製從服務器啟動服務器時,從my.cnf文件讀取並使用選項。服務器然後記錄master.info文件中的值。下次啟動服務器時,它只從服務器的master.info文件讀取主服務器主機值並忽略選項文件中的值。如果你修改my.cnf文件為some_other_host指定其它主服務器主機,更改仍然不會生效。你應使用CHANGE MASTER TO。
因為服務器給已有master.info文件的優先權高於剛剛描述的啟動選項,可以選擇不使用這些值的啟動選項,而是使用CHANGE MASTER TO語句來指定。參見13.6.2.1節,“CHANGE MASTER TO語法”。
下面的例子顯示了如何更廣泛地使用啟動選項來配置從服務器:
[mysqld]
server-id=2
master-host=db-master.mycompany.com
master-port=3306
master-user=pertinax
master-password=freitag
master-connect-retry=60
report-host=db-slave.mycompany.com
下面列出了控制複製的啟動選項:許多選項可以在服務器運行時通過CHANGE MASTER TO語句重新進行設置。其它選項,例如–replicate-*選項,只能在從服務器啟動時進行設置。我們計劃將修復該問題。
· –logs-slave-updates
通常情況,從服務器從主服務器接收到的更新不記入它的二進制日誌。該選項告訴從服務器將其SQL線程執行的更新記入到從服務器自己的二進制日誌。為了使該選項生效,還必須用–logs-bin選項啟動從服務器以啟用二進制日誌。如果想要應用鏈式複製服務器,應使用–logs-slave- updates。例如,可能你想要這樣設置:
A – B – C
也就是說,A為從服務器B的主服務器,B為從服務器C的主服務器。為了能工作,B必須既為主服務器又為從服務器。你必須用–logs-bin啟動A和B以啟用二進制日誌,並且用–logs-slave-updates選項啟動B。
· –logs-warnings
讓從服務器向錯誤日誌輸出更詳細的關於其執行操作的消息。例如,通知你網絡/連接失敗後已經成功重新連接,並通知你每個從服務器線程如何啟動。該選項默認啟用;要想禁用它,使用–skip-logs-warnings。放棄的連接不記入錯誤日誌,除非該值大於1。
請注意該選項的效果不限於複製。可以對服務器的部分動作產生警告。
· –master-connect-retry=seconds
在主服務器宕機或連接丟失的情況下,從服務器線程重新嘗試連接主服務器之前睡眠的秒數。如果主服務器.info文件中的值可以讀取則優先使用。如果未設置, 默認值為60。
· –master-host=host
主複製服務器的主機名或IP地址。如果沒有給出該選項,從服務器線程不啟動。如果主服務器.info文件中的值可以讀取則優先使用。
· –master-info-file=file_name
從服務器用於記錄主服務器的相關信息使用的文件名。默認名為數據目錄中的mysql.info。
· –master-password=password
連接主服務器時從服務器線程用於鑒定的賬戶的密碼。如果主服務器.info文件中的值可以讀取則優先使用。如果未設置,假定 密碼為空。
· –master-port=port_number
主服務器正幀聽的TCP/IP端口號。如果主服務器.info文件中的值可以讀取則優先使用。如果未設置,假定使用編譯進來的設定值。如果你未曾用configure選項進行修改,該值應為3306。
· –master-ssl、–master-ssl-ca=file_name、–master-ssl-capath= directory_name、–master-ssl-cert=file_name、–master-ssl-cipher= cipher_list、–master-ssl-key=file_name
這些選項用於使用SSL設置與主服務器的安全複製連接。它們的含義與5.8.7.6節,“SSL命令行選項”中描述的相應—ssl、–ssl-ca、–ssl-capath、–ssl-cert、– ssl-cipher、–ssl-key選項相同。如果主服務器.info文件中的值可以讀取則優先使用。
· –master-user=username
連接主服務器時從服務器線程用於鑒定的賬戶的用戶名。該賬戶必須具有REPLICATION SLAVE權限。如果主服務器.info文件中的值可以讀取則優先使用。如果未設置主服務器用戶,假定使用用戶test。
· –max-relay-logs-size=size
自動循環中繼日誌。參見5.3.3節,“服務器系統變量”。
· –read-only
該選項讓從服務器只允許來自從服務器線程或具有SUPER權限的用戶的更新。可以確保從服務器不接受來自客戶的更新。
· –relay-log=file_name
中繼日誌名。默認名為host_name-relay-bin.nnnnnn,其中host_name是從服務器主機的名,nnnnnn表示中繼日誌在編號序列中創建。如果中繼日誌太大(並且你不想降低max_relay_log_size),需要將它們放到數據目錄之外的其它地方,或者如果想要通過硬盤之間的負載均衡提高速度,可以指定選項創建與主機名無關的中繼日誌名。
· –relay-log-index=file_name
中繼日誌索引文件使用的位置和名稱。默認名為host_name-relay-bin.index,其中host_name為從服務器名。
· –relay-log-info-file=file_name
從服務器用於記錄中繼日誌相關信息的文件名。默認名為數據目錄中的relay-log.info。
· –relay-log-purge={0|1}
禁用或啟用不再需要中繼日誌時是否自動清空它們。默認值為1(啟用)。這是一個全局變量,可以用SET GLOBAL Relay_log_purge動態更改。
· –relay-log-space-limit=size
限制所有中繼日誌在從服務器上所佔用空間的上限(0值表示“無限制”)。從服務器主機硬盤空間有限時很有用。達到限制後,I/O線程停止從主服務器讀取二進制日誌中的事件,直到SQL線程被閉鎖並且刪除了部分未使用的中繼日誌。請注意該限制並不是絕對的:有可能SQL線程刪除中繼日誌前需要更多的事件。在這種情況下,I/O線程將超過限制,直到SQL線程可以刪除部分中繼日誌。(不這樣做將會造成死鎖)。–relay-log-space-limit的值不能小於–max-relay-logs-size(或如果–max-relay-logs-size為0,選–max-binlog-size) 的值的兩倍。在這種情況下,有可能I/O線程等待釋放空間,因為超過了–relay-log-space-limit,但SQL線程沒有要清空的中繼日誌,不能滿足I/O線程的需求。強制I/O線程臨時忽視–relay-log-space-limit。
· –replicate-do-db=db_name
告訴從服務器限制默認數據庫(由USE所選擇)為db_name的語句的複製。要指定多個數據庫,應多次使用該選項,每個數據庫使用一次。請注意不複製跨數據庫的語句,例如當已經選擇了其它數據庫或沒有數據庫時執行UPDATE some_db.some_table SET foo=’bar’。如果需要跨數據庫進行更新,使用–replicate-wild-do-table=db_name.%。請讀取該選項列表後面的注意事項。
一個不能按照期望工作的例子:如果用–replicate-do-db=sales啟動從服務器,並且在主服務器上執行下面的語句,UPDATE語句不會複製:
USE prices;
UPDATE sales.january SET amount=amount+1000;
如果需要跨數據庫進行更新,應使用–replicate-wild-do-table=db_name.%。
“只檢查默認數據庫”行為的主要原因是語句自己很難知道它是否應被複制(例如,如果你正使用跨數據庫的多表DELETE語句或多表UPDATE語句)。如果不需要,只檢查默認數據庫比檢查所有數據庫要快得多。
· –replicate-do-table=db_name.tbl_name
告訴從服務器線程限制對指定表的複製。要指定多個表,應多次使用該選項,每個表使用一次。同–replicate-do-db對比,允許跨數據庫更新。請讀取該選項列表後面的注意事項。
· –replicate-ignore-db=db_name
告訴從服務器不要複製默認數據庫(由USE所選擇)為db_name的語句。要想忽略多個數據庫,應多次使用該選項,每個數據庫使用一次。如果正進行跨數據庫更新並且不想複製這些更新,不應使用該選項。請讀取該選項後面的注意事項。
一個不能按照期望工作的例如:如果用–replicate-ignore-db=sales啟動從服務器,並且在主服務器上執行下面的語句,UPDATE語句不會複製:
· USE prices;
· UPDATE sales.january SET amount=amount+1000;
如果需要跨數據庫更新,應使用–replicate-wild-ignore-table=db_name.%。
· –replicate-ignore-table=db_name.tbl_name
告訴從服務器線程不要複製更新指定表的任何語句(即使該語句可能更新其它的表)。要想忽略多個表,應多次使用該選項,每個表使用一次。同–replicate-ignore-db對比,該選項可以跨數據庫進行更新。請讀取該選項後面的注意事項。
· –replicate-wild-do-table=db_name.tbl_name
告訴從服務器線程限制複製更新的表匹配指定的數據庫和表名模式的語句。模式可以包含‘%’和‘_’通配符,與LIKE模式匹配操作符具有相同的含義。要指定多個表,應多次使用該選項,每個表使用一次。該選項可以跨數據庫進行更新。請讀取該選項後面的注意事項。
例如:–replicate-wild-do-table=foo%.bar%只複製數據庫名以foo開始和表名以bar開始的表的更新。
如 果表名模式為%,可匹配任何錶名,選項也適合數據庫級語句(CREATE DATABASE、DROP DATABASE和ALTER DATABASE)。例如,如果使用–replicate-wild-do-table=foo%.%,如果數據庫名匹配模式foo%,則複製數據庫級語句。
要想在數據庫或表名模式中包括通配符,用反斜線對它們進行轉義。例如,要複製名為my_own%db的數據庫的所有表,但不複製 my1ownAABCdb數據庫的表,應這樣轉義‘_’和‘%’字符:–replicate-wild-do-table=my\_own\%db。如果在命令行中使用選項,可能需要雙反斜線或將選項值引起來,取決於命令解釋符。例如,用bash外殼則需要輸入–replicate-wild-do- table=my\\_own\\%db。
· –replicate-wild-ignore-table=db_name.tbl_name
告訴從服務器線程不要複製表匹配給出的通配符模式的語句。要想忽略多個表,應多次使用該選項,每個表使用一次。該選項可以跨數據庫進行更新。請讀取該選項後面的注意事項。
例如:–replicate-wild-ignore-table=foo%.bar%不複製數據庫名以foo開始和表名以bar開始的表的更新。
關於匹配如何工作的信息,參見–replicate-wild-do-table選項的描述。在選項值中包括通配符的規則與–replicate-wild-ignore-table相同。
· –replicate-rewrite-db=from_name-to_name
告訴從服務器如果默認數據庫(由USE所選擇)為主服務器上的from_name,則翻譯為to_name。隻影響含有表的語句(不是類似CREATE DATABASE、DROP DATABASE和ALTER DATABASE的語句),並且只有from_name為主服務器上的默認數據庫時。該選項不可以跨數據庫進行更新。請注意在測試–replicate -*規則之前翻譯數據庫名。
如果在命令行中使用該選項, ‘’字符專用於命令解釋符,應將選項值引起來。例如:
shell mysqld –replicate-rewrite-db=”olddb-newdb”
· –replicate-same-server-id
將用於從服務器上。通常可以默認設置為0以防止循環複製中的無限循環。如果設置為1,該從服務器不跳過有自己的服務器id的事件;通常只在有很少配置的情況下有用。如果使用–logs-slave-updates不能設置為1。請注意默認情況下如果有從服務器的id,服務器I/O線程不將二進制日誌事件寫入中繼日誌(該優化可以幫助節省硬盤的使用)。因此如果想要使用–replicate-same-server-id,讓從服務器讀取自己的SQL線程執行的事件前,一定要用該選項啟動。
· –report-host=slave_name
從服務器注 冊過程中報告給主服務器的主機名或IP地址。該值出現在主服務器上SHOW SLAVE HOSTS的輸出中。如果不想讓從服務器自己在主服務器上註冊,則不設置該值。請注意從服務器連接後,主服務器僅僅從TCP/IP套接字讀取從服務器的 IP號是不夠的。由於 NAT和其它路由問題,IP可能不合法,不能從主服務器或其它主機連接從服務器。
· –report-port=slave_port
連接從服務器的TCP/IP端口號,從服務器註冊過程中報告給主服務器。只有從服務器幀聽非默認端口或如果有一個特殊隧道供主服務器或其它客戶連接從服務器時才設置它。如果你不確定,不設置該選項。
· –skip-slave-start
告訴從服務器當服務器啟動時不啟動從服務器線程。使用START SLAVE語句在以後啟動線程。
· –slave_compressed_protocol={0|1}
如果該選項設置為 1,如果從服務器和主服務器均支持,使用壓縮從服務器/主服務器協議。
· –slave-load-tmpdir=file_name
從 服務器創建臨時文件的目錄名。該選項默認等於tmpdir系統變量的值。當從服務器SQL線程複製LOAD DATA INFILE語句時,從中繼日誌將待裝載的文件提取到臨時文件,然後將這些文件裝入到表中。如果裝載到主服務器上的文件很大,從服務器上的臨時文件也很大。因此,建議使用該選項告訴從服務器將臨時文件放到文件系統中有大量可用空間的目錄下。在這種情況下,也可以使用–relay-log選項將中繼日誌放到該文件系統中,因為中繼日誌也很大。–slave-load-tmpdir應指向基於硬盤的文件系統,而非基於內存的文件系統:從服務器需要用臨時文件在機器重啟時用於複製LOAD DATA INFILE。系統啟動過程中操作系統也不能清除該目錄。
· –slave-net-timeout=seconds
放棄讀之前從主服務器等候更多數據的秒數,考慮到連接中斷和嘗試重新連接。超時後立即開始第1次重試。由–master-connect-retry選項控制重試之間的間隔。
· –slave-skip-errors=[err_code1,err_code2,… | all]
通常情況,當出現錯誤時複製停止,這樣給你一個機會手動解決數據中的不一致性問題。該選項告訴從服務器SQL線程當語句返回任何選項值中所列的錯誤時繼續複製。
如果你不能完全理解為什麼發生錯誤,則不要使用該選項。如果複製設置和客戶程序中沒有bug,並且MySQL自身也沒有bug,應不會發生停止複製的錯誤。濫用該選項會使從服務器與主服務器不能保存同步,並且你找不到原因。
對於錯誤代碼,你應使用從服務器錯誤日誌中錯誤消息提供的編號和SHOW SLAVE STATUS的輸出。服務器錯誤代碼列於附錄B:錯誤代碼和消息。
你也可以(但不應)使用不推薦的all值忽略所有錯誤消息,不考慮所發生的錯誤。無需而言,如果使用該值,我們不能保證數據的完整性。在這種情況下,如果從服務器的數據與主服務器上的不相近請不要抱怨(或編寫bug報告)。已經警告你了。
例如:
–slave-skip-errors=1062,1053
–slave-skip-errors=all
從服務器按下面評估–replicate-*規則,確定是否執行或忽視語句:
1. 是否有–replicate-do-db或–replicate-ignore-db規則?
· 有:測試–binlog-do-db和–binlog-ignore-db(參見5.11.3節,“二進制日誌”)。測試結果是什麼?
o 忽視語句:忽視並退出。
o 許可語句:不立即執行語句。推遲決策;繼續下一步。
· 沒有:繼續下一步。
2. 我們目前正執行保存的程序或函數嗎?
· 是:執行查詢並退出。
· 否:繼續下一步。
3. 是否有–replicate-*-table規則?
· 沒有:執行查詢並退出。
· 有:繼續下一步並開始按所示順序評估表規則(首先是非通配規則,然後是通配規則)。只有待更新的表根據這些規則進行比較(INSERT INTO sales SELECT * FROM prices:只有sales根據這些規則進行比較)。如果要更新幾個表(多表語句),第1個匹配的表(匹配“do”或“ignore”)獲贏。也就是說,根據這些規則比較第1個表。然後,如果不能進行決策,根據這些規則比較第2個表等等。
4. 是否有–replicate-do-table規則?
· 有:表匹配嗎?
o 是:執行查詢並退出。
o 否:繼續下一步。
· 沒有:繼續下一步。
5. 是否有–replicate-ignore-table規則?
· 有:表匹配嗎?
o 是:忽視查詢並退出。
o 否:繼續下一步。
· 沒有:繼續下一步。
6. 是否有–replicate-wild-do-table規則?
· 有:表匹配嗎?
o 是:執行查詢並退出。
o 否:繼續下一步。
· 沒有:繼續下一步。
7. 是否有–replicate-wild-ignore-table規則?
· 有:表匹配嗎?
o 是:忽視查詢並退出。
o 否:繼續下一步。
· 沒有:繼續下一步。
8. 沒有匹配的–replicate-*-table規則。要根據這些規則測試其它表嗎?
· 是:執行循環。
· 否:我們現在已經測試了所有待更新的表,結果不能匹配任何規則。是否有–replicate-do-table或–replicate-wild-do-table規則?
o 有:有“do”規則但不匹配。忽視查詢並退出。
o 沒有:執行查詢並退出
mysql執行的sql腳本中注釋怎麼寫
mysql
服務器支持
#
到該行結束、–
到該行結束
以及
/*
行中間或多個行
*/
的注釋方格:
mysql
SELECT
1+1;
#
這個注釋直到該行結束
mysql
SELECT
1+1;
—
這個注釋直到該行結束
mysql
SELECT
1
/*
這是一個在行中間的注釋
*/
+
1;
mysql
SELECT
1+
/*
這是一個
多行注釋的形式
*/
1;
注意
—
(雙長劃)
注釋風格要求在兩個長劃後至少有一個空格!
儘管服務器理解剛才描述的注釋句法,但
MySQL
客戶端的語法分析在
/*
…
*/
注釋方式上還有所限止:
單引號和雙引號被用來標誌一個被引用字符串的開始,即使是在一個注釋中。如果注釋中的引號沒有另一個引號與之配對,那和語法分析程序就不會認為注釋結束。如果你以交互式運行
mysql,你會產生困惑,因為提示符從
mysql
變為
‘
或
“。
一個分號被用於指出當前
SQL
語句的結束並且跟隨它的任何東西表示下一行的開始。
不論你是以交互式運行
mysql
還是將命令放在一個文件中,然後以
mysql
some-file
告訴
mysql
讀取它的輸入,這個限制均存在。
原創文章,作者:YS90H,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127512.html