Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 输入框中的大写字母不匹配_Mysql - Fatal编程技术网

Mysql 输入框中的大写字母不匹配

Mysql 输入框中的大写字母不匹配,mysql,Mysql,最近我在css中做了文本转换:大写,其中每个单词的第一个字母都是大写的,但phpmyadmin中的数据是小写的。只有手动将字母大写,它才会是大写。如何修复它?您可以在插入和更新时创建 CREATE TABLE Test(id INTEGER, title VARCHAR(255)); DELIMITER $$ CREATE TRIGGER ucwordOnTestInsert BEFORE insert ON Test FOR EACH ROW

最近我在css中做了
文本转换:大写
,其中每个单词的第一个字母都是大写的,但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