Mysql 表中的SQL字限制

Mysql 表中的SQL字限制,mysql,sql,count,words,word-count,Mysql,Sql,Count,Words,Word Count,我试图创建一个表来存储与某些模块相关的书籍信息,其中一个字段的规范是,它最多可以存储关于每本书内容的一个或5个单词。有没有一种方法可以限制SQL中的字数,还是可以使用其他方法进行限制?取决于数据库,但您可以使用正则表达式进行检查。Oracle的一个示例: CREATE TABLE books ( id INTEGER PRIMARY KEY, name VARCHAR2(100), keywords VARCHAR2(100), CONST

我试图创建一个表来存储与某些模块相关的书籍信息,其中一个字段的规范是,它最多可以存储关于每本书内容的一个或5个单词。有没有一种方法可以限制SQL中的字数,还是可以使用其他方法进行限制?

取决于数据库,但您可以使用正则表达式进行检查。Oracle的一个示例:

CREATE TABLE books (
       id INTEGER PRIMARY KEY,
       name VARCHAR2(100),
       keywords VARCHAR2(100),
       CONSTRAINT ck_keywords CHECK (regexp_like (keywords, '^(\w+ ){0,4}\w+$'))
);

INSERT INTO books VALUES (1, 'Kombajn zbożowy', '');
INSERT INTO books VALUES (2, 'Weeheee', 'wee');
INSERT INTO books VALUES (3, 'Stack Overflow', 'programming databases questions answers');
INSERT INTO books VALUES (4, 'Blah', 'blah blah blah blah blah blah'); -- this will fail

@op为什么不限制字符数呢?请查看以下链接:使用myphpadmin创建数据库。字段中可以有任意五个单词,但我需要限制每本书最多5个单词。非常有趣的是,我不知道可以对列设置限制。干杯,我将尝试一下