最新资讯

致力于生物科技前沿探索

常用褪黑素助眠?当心损伤胰岛功能!这类人服用更容易升高血糖


导语:失眠人群常备的褪黑素,并非人人安全。最新研究证实:一部分人服用后,胰岛快速降糖能力会明显下降,糖耐量受损,增加糖尿病风险。

很多人不管是在家熬夜失眠、夜里翻来覆去睡不着,还是出门出差、作息打乱睡不好,第一反应就是吃褪黑素。作为随手就能买到的助眠保健品,它不像安眠药那样有明确的成瘾性和药物依赖,一直被大家默认为温和安全、几乎无副作用。大家只知道吃完顶多犯困、脑袋发沉,却很少有人意识到,日常吃的褪黑素,居然和血糖波动、糖尿病风险息息相关。

但发表在权威期刊《Diabetes Care》的一项临床研究,给长期服用褪黑素的人群敲响警钟:常规剂量褪黑素会损害部分人群的葡萄糖耐受能力,核心问题在于抑制胰岛第一时相胰岛素分泌。

 


一、什么是胰岛素第一时相分泌?

我们进食后血糖快速上升,胰岛 β 细胞会立刻释放一波胰岛素,快速压制血糖峰值,这就是第一时相(一相)胰岛素分泌 进食 / 血糖快速上升后,胰岛立刻释放库存胰岛素形成 10 分钟内的尖锐高峰,用来压制肝糖、防止餐后血糖暴涨;这个尖峰消失,是糖尿病最早的预警信号。 它是人体抵御高血糖的第一道防线,也是 2 型糖尿病发生早期最先消失的功能。
      一旦这一功能受损,餐后血糖更容易飙升,久而久之发展为糖耐量异常、糖尿病。

 


二、褪黑素对血糖的影响,由基因决定

 

配图解读:只有携带 MTNR1B 风险基因的人群,在服用褪黑素后,胰岛第一时相胰岛素分泌受到抑制、糖耐量受损;不携带该风险基因的人群,糖代谢几乎不受影响。并且褪黑素并不会改变人体胰岛素敏感性,问题根源在于胰岛 β 细胞早期分泌功能受损。

这项研究采用随机、双盲、交叉对照试验,纳入健康受试者,分别服用 5mg 褪黑素(市面上常见剂量)或安慰剂,通过静脉葡萄糖耐量试验精准评估胰岛功能。

最关键的结论:褪黑素对糖代谢的负面影响,由基因决定。
人体 MTNR1B 基因编码褪黑素 MT2 受体,存在两种基因型:野生型和突变型。
CC 野生型人群
服用同等剂量褪黑素后,胰岛素分泌、血糖水平几乎没有变化,短期服用不会明显干扰糖代谢。

⚠️ 携带 G 风险等位基因(CG/GG 型)人群
服用褪黑素后出现显著代谢改变:

1. 葡萄糖清除效率下降,糖耐量受损;

2. 胰岛素第一时相分泌显著降低近 40%,早期 C 肽分泌同步下降;

3. 胰岛代偿机制失效,无法弥补早期胰岛素分泌不足,血糖峰值居高不下;

4. 褪黑素还能降低胰岛素诱发低血糖风险,侧面印证胰岛持续受到抑制。

简单理解:携带该风险基因的人,胰岛上褪黑素受体表达更高。额外补充褪黑素,会过度激活受体,直接阻碍 β 细胞快速释放胰岛素。

 

划重点:生理性夜间自身分泌的褪黑素不会造成这类损伤;风险主要来自外源性口服褪黑素补充剂


三、哪些人需要高度警惕?

人群携带 MTNR1B 风险等位基因比例并不低,大约 30%40%。如果你属于下面任意一类,不建议随意长期服用褪黑素:

1. 2 型糖尿病家族史;

2. 体检提示糖耐量异常、空腹血糖偏高、属于糖尿病前期;

3. 超重、腹型肥胖、代谢综合征人群;

4. 已经确诊 2 型糖尿病;

5. 需要长期每日服用褪黑素改善失眠。

不少人单纯依靠褪黑素长期调理睡眠,却忽略潜在代谢负担。保健品无副作用,个体遗传差异会让风险天差地别。


四、大家最关心的几个问题

Q1:我偶尔吃一次褪黑素,会立刻吃出糖尿病吗?

本次研究为单次急性给药试验。短期偶尔服用,不一定直接诱发糖尿病,但会暂时性削弱胰岛降糖能力。
对于易感人群,长期持续抑制胰岛功能,会加速血糖代谢异常进程。

Q2:怎么知道自己是不是高危基因型?

想要精准判断,可以通过基因检测查看 MTNR1B rs10830963 位点。
若无检测条件,高危人群优先选择非药物方式改善睡眠,尽量避免长期依赖褪黑素。

Q3:失眠除了褪黑素,还有更安全的办法吗?

优先调整作息、控制夜间光照、减少睡前电子产品使用;建立稳定睡眠节律。
若失眠持续,优先就医,由医生评估是否需要助眠干预,不要自行长期囤服褪黑素。

 

褪黑素是热门助眠产品,但存在明确的代谢风险分层:
MTNR1B 风险基因携带者,服用常规剂量褪黑素会抑制胰岛素一相分泌、损害糖耐量,提升血糖异常风险;野生型人群短期服用相对安全。

不要默认褪黑素 人人可用、绝对安全。尤其血糖不稳定、有糖尿病家族史的朋友,慎重选择长期口服褪黑素。睡眠固然重要,守护胰岛功能同样不能忽视。

文末互动:你是否长期依靠褪黑素入睡?体检血糖情况如何?欢迎评论区交流。

 

参考文献:

Qian J, Stefanovski D, Andersen PAK, et al. Melatonin Impairs Glucose Tolerance, First-Phase Insulin Secretion, and Insulin Feedback Inhibition; Interaction With MTNR1B Diabetes Risk Variant. Diabetes Care. 2026;49(8):1498-1506. doi:10.2337/dc26-0164


''标签解析异常!
引发类型为“System.OutOfMemoryException”的异常。
在 System.String.CreateStringFromEncoding(Byte* bytes, Int32 byteLength, Encoding encoding) 在 System.Text.UnicodeEncoding.GetString(Byte[] bytes, Int32 index, Int32 count) 在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value) 在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj, SqlCommandColumnEncryptionSetting columnEncryptionOverride, String columnName) 在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly) 在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) 在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.SchemaMapping.LoadDataRow() 在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) 在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) 在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 在 Whir.Repository.Database.Query(String sql, Object[] args) 在 Whir.Label.Dynamic.Content.GetColumnFileValue() 位置 E:\chenxz\05.ezEIP\ezEipV5.0\tags\V5.3.0(0649) 奇奇版\Whir.Label\Dynamic\Content.cs:行号 111 在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output) 位置 E:\chenxz\05.ezEIP\ezEipV5.0\tags\V5.3.0(0649) 奇奇版\Whir.Label\Dynamic\Content.cs:行号 93
''标签解析异常!
引发类型为“System.OutOfMemoryException”的异常。
在 System.String.CreateStringFromEncoding(Byte* bytes, Int32 byteLength, Encoding encoding) 在 System.Text.UnicodeEncoding.GetString(Byte[] bytes, Int32 index, Int32 count) 在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value) 在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj, SqlCommandColumnEncryptionSetting columnEncryptionOverride, String columnName) 在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly) 在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) 在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.SchemaMapping.LoadDataRow() 在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) 在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) 在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 在 Whir.Repository.Database.Query(String sql, Object[] args) 在 Whir.Label.Dynamic.Content.GetColumnFileValue() 位置 E:\chenxz\05.ezEIP\ezEipV5.0\tags\V5.3.0(0649) 奇奇版\Whir.Label\Dynamic\Content.cs:行号 111 在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output) 位置 E:\chenxz\05.ezEIP\ezEipV5.0\tags\V5.3.0(0649) 奇奇版\Whir.Label\Dynamic\Content.cs:行号 93
联系地址:河南省许昌市许昌大学科技园2楼207室