首页 > 编程语言 > 详细

1.7.3.4 ENUM和SET约束

时间:2020-09-25 15:17:17      阅读:36      评论:0      收藏:0      [点我收藏+]

 

ENUM和 SET列提供了一种有效的方式来定义只能包含一组给定值的列。请参见第11.3.5节“ ENUM类型”和 第11.3.6节“ SET类型”

除非禁用了严格模式(不建议这样做,但请参见 第5.1.11节“服务器SQL模式”),ENUM否则或 SETcolumn 的定义将成为 对输入到该列中的值的约束。不满足以下条件的值会发生错误:

  • ENUM值必须是列定义中列出 的值之一,或其内部等效数字。该值不能是错误值(即0或空字符串)。对于定义为一列 ENUM(‘a‘,‘b‘,‘c‘),值,如‘‘‘d‘或者 ‘ax‘是无效的,并且将被拒绝。

  • SET值必须是空字符串或仅由在列定义中列出的值的一个值由逗号分隔。对于定义为的列 SET(‘a‘,‘b‘,‘c‘),诸如‘d‘或的 ‘a,b,c,d‘无效并且被拒绝。

如果使用INSERT IGNORE或,则可以在严格模式下抑制无效值的错误UPDATE IGNORE在这种情况下,将生成警告而不是错误。对于 ENUM,该值将作为错误成员(0插入对于 SET,将按给定值插入,除了删除所有无效的子字符串外。例如,‘a,x,b,y‘结果为 ‘a,b‘

1.7.3.4 ENUM和SET约束

原文:https://www.cnblogs.com/owlin/p/13729281.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!