Mysql 输入框中的大写字母不匹配
最近我在css中做了Mysql 输入框中的大写字母不匹配,mysql,Mysql,最近我在css中做了文本转换:大写,其中每个单词的第一个字母都是大写的,但phpmyadmin中的数据是小写的。只有手动将字母大写,它才会是大写。如何修复它?您可以在插入和更新时创建 CREATE TABLE Test(id INTEGER, title VARCHAR(255)); DELIMITER $$ CREATE TRIGGER ucwordOnTestInsert BEFORE insert ON Test FOR EACH ROW
文本转换:大写
,其中每个单词的第一个字母都是大写的,但phpmyadmin中的数据是小写的。只有手动将字母大写,它才会是大写。如何修复它?您可以在插入和更新时创建
CREATE TABLE Test(id INTEGER, title VARCHAR(255));
DELIMITER $$
CREATE
TRIGGER ucwordOnTestInsert
BEFORE insert
ON Test
FOR EACH ROW
BEGIN
SET NEW.title = initcap(NEW.title);
END$$
CREATE
TRIGGER ucwordOnTestUpdate
BEFORE update
ON Test
FOR EACH ROW
BEGIN
SET NEW.title = initcap(NEW.title);
END$$
CREATE
FUNCTION `initcap`(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(input);
SET input = LOWER(input);
SET i = 0;
WHILE (i < len) DO
IF (MID(input,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET input = CONCAT(
LEFT(input,i),
UPPER(MID(input,i + 1,1)),
RIGHT(input,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN input;
END$$
DELIMITER ;
insert into Test(id, title) values(1, "hello");
insert into Test(id, title) values(2, "hello world");
insert into Test(id, title) values(3, "hello World");
insert into Test(id, title) values(4, "hello World");
UPDATE `Test` SET title = 'this is a big test' WHERE `id` = 4;
SELECT * FROM Test;
您可以阅读更多有关函数的内容您需要更新数据或php,这样就没有代码可以永久修复此问题了?我可以将此代码应用于现有表还是必须创建新表?对不起,MySQL NOB在这里。是的,您可以将触发器应用到现有表上,只需在YouTabLeNeNe//Cuff>和<代码>标题>代码>将测试< <代码> > <代码>更改为您使用“@北境”的字段,如果这个或任何答案已经解决了您的问题,请通过单击复选标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。
UPDATE `Test` SET title= title