MySQL创建接受检查启动的值的表

时间:2016-02-16 09:54:06

标签: mysql database check-constraint

我为手机联系人创建了一个表格,我想排序手机号码。例如,如果电话号码以1到3开头,则它属于第一家电信公司,4至6属于其他电信公司。

我想要做的是,如果用户输入他们的电话号码,该号码将被插入电信公司的表中,但每个电信公司都依赖于 ContactId 这是主要的密钥。 mobileContacts 表。

我已经尝试过使用cellnum1但没有任何作用

cellnum1 ENUM('1%','2%','3%') ............. 
cellnum1 VARCHAR(11) CHECK (cellnum1 IN ('1%','2%','3%')) ......... 
cellnum1 VARCHAR(11) CHECK (cellnum1 LIKE('1%','2%','3%'))

2 个答案:

答案 0 :(得分:0)

SELECT * FROM tbl_item WHERE SUBSTR([<Column name>], 1, X) = '<Your ID prefix>' ORDER BY [<Column name>]  

来自SUBSTR的 X 是你想要多少个字符。 并且,请更具体地说明您将来想要的东西。 :)

答案 1 :(得分:0)

MySQL参考手册说:

  

CHECK子句被解析但被所有存储引擎忽略。

尝试触发......

如果要检查第一个字符值,可以使用substr表行上的NEW来过滤数据:

substr(NEW.cellnum1 ,1,1) in ( 1,2,3)