gpt4 book ai didi

mysql - 仅 1 个字符的数据类型

转载 作者:行者123 更新时间:2023-12-01 00:39:58 24 4
gpt4 key购买 nike

我只想在表格字段中插入一个字母。只接受一个字符的数据类型是什么?

我不想使用 VARCHAR(1),因为它会截断剩余的字符。我希望如果输入是 1 个字符,它将插入,否则它不会插入到表中

最佳答案

如果您将列长度设置得更长(例如 255),那么您可以添加一个触发器来检查新字段的长度。如果大于 1,则可以触发错误。

对于测试示例:-

CREATE TABLE IF NOT EXISTS `insert_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sometext` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


--
-- Triggers `insert_test`
--
DROP TRIGGER IF EXISTS `length_check_trigger`;
DELIMITER //
CREATE TRIGGER `length_check_trigger` BEFORE INSERT ON `insert_test`
FOR EACH ROW BEGIN
DECLARE msg VARCHAR(255);
IF LENGTH(NEW.sometext) > 1 THEN
SET msg = "DIE: String Too Long.";
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
END IF;

END
//
DELIMITER ;

您可以将消息更改为您想要的内容。您还需要一个类似的触发器来捕获更新。

关于mysql - 仅 1 个字符的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35017117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com