我已经编写了一个注册系统,我想在其中设置一个带有前缀的 ID。已经调试了几个小时,并决定在这里创建一个帖子。尝试寻找有关此问题的线程,但它们主要用于 SQL SERVER。正在查看@Mikael Eriksson查询,并将其转为在我这边工作,但我失败了。我的例子:CREATE TABLE 2njaho1fluahymj1auusz5ormx5zmraqqpdrmsut0eotpjzk2( wuZ7gIfEz9UAZydySMnE5e1h28Nqvd4Kmk46Ovko1CiDvsf0iDRDC INT IDENTITY(10000,1), 5nJDfmCpaYwEvIbzShL35uhnbcI4kKmUicxCDaHHRQlc49VUoPh4a AS '#QWE-'+right('00000'+cast(wuZ7gIfEz9UAZydySMnE5e1h28Nqvd4Kmk46Ovko1CiDvsf0iDRDC AS VARCHAR(5)), 5) PERSISTED, G5cWsbp6ob2DKgZVwZnzguSpdZacwXXfHvl7Bo4rLB5BT4uI5lNAK VARCHAR(300), T8x4q5RfqVyK5Eoae9UmVEIMF7FwzK00e0vzpYHB5NMr6mDO VARCHAR(300), 0SUdlsy5q0b9rwD2ePJHLuCeWn8q8vyFquB0hf0f3v0VC43m VARCHAR(300), Guwox6dyV7faJZlWxCyKIeStrO9t7xDbKIIXMGx6bb3QucYAI8mMC VARCHAR(300), X3nIkFzS6KyaksZz9iBCyOUKaq96lK15bTIuDsou8e3cfI49VVsTS VARCHAR(300), 82HQunAIr3kEEeCn3JypweDhRMDxAljIMufT3NZB5W4aB3Ns2qSPi VARCHAR(300), 3HTMIH1dzv6roy4SXmUozupWzOGrzCKwQ7K3qZIFeyNQahIkIGRIe VARCHAR(300), FP6U0wzvs06kXt6gQb7SXeathDXZUCAayQbBaMbSItdn9py6JO61i VARCHAR(300), L4u7NxC0t8Gvv2BzWbcR3eFmDTVgCmrZfquzgd2YvBRUAa2RCFv6y VARCHAR(300), Lx4WTEWUPCtwi6f5TMtxhuyIEfYcOxIziGjBM2c5IdEmM0jrehYcW VARCHAR(300), lQg6bMRmFbwx5yP7gRgmhONOvqTOXMLy08PLeBSdBGug8Ujz6HX6u VARCHAR(300), PRIMARY KEY(5nJDfmCpaYwEvIbzShL35uhnbcI4kKmUicxCDaHHRQlc49VUoPh4a));我得到的实际错误:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 3 行的 'AS '#JWT-'+right('00000'+cast(wuZ7gIfEz9UAZydySMnE5e1h28Nqvd4Kmk46Ovko1CiDvsf0iD' 附近使用的正确语法我猜这是因为它与我使用的 RDBMS 不兼容。
1 回答
Helenr
TA贡献1780条经验 获得超3个赞
MariaDB 10.2中引入了“生成”列
另请阅读ZEROFILL
:
id INT(6) ZEROFILL
将为您提供带有前导零的 6 位数字。不需要RIGHT
等。
无论如何CONCAT( , )
用于串联,而不是+
.
- 1 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消