gpt4 book ai didi

MySQL UUID_SHORT 数据类型

转载 作者:行者123 更新时间:2023-11-29 01:28:11 24 4
gpt4 key购买 nike

我有用户表。主键是 user_id,其数据类型为 bigint(20)

我通过下面的触发器使用 UUID_SHORT() 生成了一个 user_id。问题是当我尝试按如下方式插入记录时收到警告:

Warning: #1366 Incorrect integer value: '' for column 'user_id' at row 1

我的 phpMyAdmin 触发器如下:

BEGIN
SET NEW.user_id=UUID_SHORT();
END

为什么我会收到此警告?我是否正确设置了数据类型?

最佳答案

INT 是一个四字节有符号整数,而 UUID_SHORT() 返回一个 64 位(即 8 字节)无符号整数。您正在尝试将 64 位数据类型存储到 4 字节 INT 中,而 MySQL 似乎将空字符串 '' 存储到字段 user_id.

来自MySQL manual :

UUID_SHORT()

Returns a “short” universal identifier as a 64-bit unsigned integer (rather than a string-form 128-bit identifier as returned by the UUID() function).

您应该改用 BIGINT UNSIGNED 类型。

关于MySQL UUID_SHORT 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com