Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MySQL存储UUID报错 #540

Open
zkqkfc666 opened this issue Mar 4, 2024 · 8 comments
Open

MySQL存储UUID报错 #540

zkqkfc666 opened this issue Mar 4, 2024 · 8 comments

Comments

@zkqkfc666
Copy link

zkqkfc666 commented Mar 4, 2024

数据库:MySQL 8.0
表结构:
image
image
插入方式:
image
数据库中,UUID为BINARY(16)类型:
image
报错信息:
image
将数据库的UUID修改为CHAR(36)类型:
image
报错信息变为:
image

@weifengze
Copy link

uuid转成String,varchar

@zkqkfc666
Copy link
Author

uuid转成String,varchar

是可以这样做,但是这样搞的话,那表结构(图二)里面的uuid类型存在的意义是什么呢?那我不如全局都用String类型了,还要uuid做什么?

@weifengze
Copy link

UUID不就是为了做一个唯一主键吗?转成varchar和String 一样用啊。

@zkqkfc666
Copy link
Author

UUID不就是为了做一个唯一主键吗?转成varchar和String 一样用啊。

按你这说法,那你整数类型也可以取值转成字符串来存,浮点型也可以转成字符串,布尔类型也可以,时间戳也可以。

那你所有的数据存数据库干脆都toString变字符串统一用varchar来存就行了,其他类型都可以删了。

【注意,以上是你表达出的观点,不是我的观点。不用反驳我,反驳你自己。】

@weifengze
Copy link

本来就可以啊😂😂,我自己想简单点,都是varchar 🤪🤪

@zkqkfc666
Copy link
Author

本来就可以啊😂😂,我自己想简单点,都是varchar 🤪🤪

👍🏻👍🏻👍🏻你赢了

@auhouhs
Copy link

auhouhs commented Mar 7, 2024

参考 #243

@lizhongyue248
Copy link

本来就可以啊😂😂,我自己想简单点,都是varchar 🤪🤪

让我震惊……怀疑不是计算机科班出生的。

每个类型的存储效率、性能、数据完整性、索引效率等等都有这巨大的区别。比如不考虑全局唯一性约束等情况常将 Int 作为主键id 存储,就是因为具有非常高效的存储和检索。对于数字操作,如比较和计算,性能远高于字符串操作。

居然“想简单点”把他们全部作为 varchar 来搞,也是厉害了。

《👍🏻👍🏻👍🏻你赢了》

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants