
我想把mysql中的一个表里的字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手
我想把mysql中的一个表里的邮箱字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手给一个语句结构,谢谢...
我想把mysql中的一个表里的邮箱字段添加上判定条件,比如必须是以@163.com结尾的邮箱才能插入,求高手给一个语句结构,谢谢
展开
4个回答
展开全部
如果楼主只是考虑下这样做,无妨,有想法。但是这样做,个人认为劳时劳力,但结果还不会很理想,因为数据库本来就是对插入数据进行存储和管理,但是现在楼主试图让其对数据插入进行筛选,貌似越权了。这些操作应该时数据库操作的逻辑代码来做的,数据库来做会降低开发效率。
其他数据库记得可以用check来做,但是mysql好像check没作用
其他数据库记得可以用check来做,但是mysql好像check没作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
尝试 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约束不起作用
例如下面的 建表语句。
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约束不起作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WHERE emailAddress LIKE '%@163.com%
先把@163.com的结果筛选出来再插入不就得了
先把@163.com的结果筛选出来再插入不就得了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是在输入窗口判断吧。那样出错了,可以实时提醒输入者!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询