我想把mysql中的一个表里的字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手

我想把mysql中的一个表里的邮箱字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手给一个语句结构,谢谢... 我想把mysql中的一个表里的邮箱字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手给一个语句结构,谢谢 展开
 我来答
ylongshao1987
2010-11-08 · TA获得超过9811个赞
知道小有建树答主
回答量:1277
采纳率:100%
帮助的人:733万
展开全部
如果楼主只是考虑下这样做,无妨,有想法。但是这样做,个人认为劳时劳力,但结果还不会很理想,因为数据库本来就是对插入数据进行存储和管理,但是现在楼主试图让其对数据插入进行筛选,貌似越权了。这些操作应该时数据库操作的逻辑代码来做的,数据库来做会降低开发效率。

其他数据库记得可以用check来做,但是mysql好像check没作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
2010-11-08 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3560万
展开全部
尝试 CHECK 来处理
例如下面的 建表语句。

mysql> CREATE TABLE test_create_tab4 (
-> id INT PRIMARY KEY,
-> val VARCHAR(10) NOT NULL,
-> val2 INT
-> CHECK(val2 >= 0 AND val2 <= 100)
-> );
-> //
Query OK, 0 rows affected (0.06 sec)

对于 email 字段,@163.com结尾的

可以 CHECK ( RIGHT(email , 8) = '@163.com')

PS:
折腾好了以后,最好测试测试看看,CHECK 不一定 有效。

-----

悲剧,刚才又去查询了一下,原来 mysql 不支持 CHECK ...
能编译成功,但是check约束不起作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2010-11-08 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.2亿
展开全部
WHERE emailAddress LIKE '%@163.com%

先把@163.com的结果筛选出来再插入不就得了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghogel
2010-11-08 · TA获得超过1388个赞
知道小有建树答主
回答量:1119
采纳率:33%
帮助的人:492万
展开全部
还是在输入窗口判断吧。那样出错了,可以实时提醒输入者!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式