日安!
MySQL中正确的语法查询是什么?我在执行过程中遇到mysql中的错误(您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得在“EmpCode”附近使用的正确语法(“EMP”,右)(Concat(‘0000’,EmpId,第3行))
CREATE TABLE tbEmployee
(
EmpId INT NOT NULL, PRIMARY KEY,
EmpCode AS CONCAT('EMP' , RIGHT(Concat('0000', CONVERT(EmpId, CHAR(5))),5)) PERSISTED,
EmployeeName VARCHAR(50),
Age INT,
Gender VARCHAR(10)
)发布于 2021-08-10 07:09:42
MySQL生成的列要么是VIRTUAL (默认值),要么是STORED,后者对应于Server的持久化。试试这个版本:
CREATE TABLE tbEmployee (
EmpId INT NOT NULL PRIMARY KEY,
EmpCode VARCHAR(50) AS (CONCAT('EMP', LPAD(EmpId, 5, '0'))) STORED,
EmployeeName VARCHAR(50),
Age INT,
Gender VARCHAR(10)
);还请注意,MySQL在将数字列转换为文本方面比较松懈。此外,我们还可以使用MySQL的LPAD函数将员工ID左移至零,宽度为5位。
https://stackoverflow.com/questions/68722333
复制相似问题