没有前导零的SQL唯一索引

时间:2010-11-08 22:28:18

标签: sql mysql

我使用以下SQL脚本设置了一个表:

CREATE TABLE MY_TABLE ( 
    ID NUMBER NOT NULL, 
    CODE VARCHAR2(40) NOT NULL,
    CONSTRAINT MY_TABLE PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX XUNIQUE_MY_TABLE_CODE ON MY_TABLE (CODE);

问题在于我需要确保CODE的值没有前导零。

如何在SQL中完成此操作,以便存储没有前导零的40-char值?

2 个答案:

答案 0 :(得分:1)

CODE VARCHAR2 NOT NULL CHECK (VALUE not like '0%')

抱歉 - 对原始规格略有误读

答案 1 :(得分:0)

如果您可以保证此表中的所有INSERTUPDATE都是通过存储过程完成的,那么您可以在那里放一些代码来检查数据如果没有,则返回错误。

P.S。除了MySQL不支持它们之外,CHECK CONSTRAINT会更好。