为什么在mysql 中 constraint c1 check(成绩 between 0 and 100); 没有起到作用呢?当你输入的成绩比100大时 没有出现错误 为什么呢 ?为了要起作用 应该要怎样写 谢谢回答.
解决方案 »
- 急问: mysql commandline 无法显示中文问题
- 请大家帮忙看看,使用mysql connector/c++ 往数据库中插入blob字段出1210错
- 奇怪 为什么我电脑的my.ini里没有 query_cache_type
- mysql的数据库迁移问题!
- 谁知道这样的问题怎么解决啊
- 散分了,各位大哥们,mysql数据库存储过程问题,求解答。
- 求MYSQL的SQL语句
- pg 提问 , 我想把 每条数据里 的 每个字段内容 全角,或者半角里的空格去掉,我该则么做?(急)
- ■■提供重量级源代码,关注者请看看■■
- 在线等,mysql如何批量执行.sql文件
- 我为何不能通过mysql的命令行管理我的"虚拟主机"呢?
- 并发环境频繁死锁如何解决
悲剧了,mysql用的是enum关键字啊!例如
create table tb(`status` enum('-2','-1','1','2','3','4') comment '-2无效状态、-1未编辑状态、1审核状态、2审核完成状态、3再修改状态、4重新审核状态');
看三楼我的办法啊,用enum就搞定了。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/07/25/4380183.aspx
-> for each row
-> begin
-> if new.col>30 then
-> insert into t_control values (1);
-> end if;
-> end;
上面的 new 是什么意思呢 非常感谢你的帮助
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。触发程序与命名为tbl_name的表相关。tbl_name必须引用永久性表。不能将触发程序与TEMPORARY表或视图关联起来。trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发
读一下参考手册吧。
STRICT_TRANS_TABLES等同,即使当不良数据出现在首行后的其他行,所产生的错误也会导致放弃语
句。这意味着,如果错误出现在非事务性表多行插入或更新过程的中途,仅更新部分结果。前面的行将完
成插入或更新,但错误出现点后面的行则不然。对于非事务性表,为了避免这种情况的发生,可使用单行
语句,或者在能接受转换警告而不是错误的情况下使用STRICT_TRANS_TABLES。要想在第1场合防止问
题的出现,不要使用MySQL来检查列的内容。最安全的方式(通常也较快)是,让应用程序负责,仅将有
效值传递给数据库。
就是说 mysql 只用来 记录 合法值 而约束行为 要在 自己的应用程序里面设计?
-> for each row
-> begin
-> if new.col>30 then
-> insert into t_control values (1);
-> end if;
-> end;
上面的 new 是什么意思呢 非常感谢你的帮助