我正在用PostgreSQL做一个数据库。在表中的一个属性中,应该可以insert
数字:“+”和“-”,但不能使用“a”、“B”或“!”.
当我使用INSERT INTO
函数时,是否可以检查输入?
我不知道,因为我只是Postgre
的初学者,在互联网上找不到解决方案。
如果有人知道答案,谢谢!
最佳答案
您可以对列的值使用CHECK constraint而不是触发器。(甚至使其成为域或类型)
CREATE TABLE meuk
( id serial NOT NULL PRIMARY KEY
, thefield varchar CHECK (thefield SIMILAR TO e'[0-9\+\-]+' )
);
INSERT INTO meuk(thefield) VALUES ('1234');
INSERT INTO meuk(thefield) VALUES ('+1234');
INSERT INTO meuk(thefield) VALUES ('-1234');
INSERT INTO meuk(thefield) VALUES ('-1234a'); -- this one should fail
SELECT * FROM meuk;
关于postgresql - PostgreSQL检查插入输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37441119/