Trigger kullanmanız gerekir.
Trigger'lar bir tabloya kayıt eklenme hemen öncesi veya hemen sonrasında otomatik olarak çalışan kod parcacıklarıdır. Tabi kayıt eklenmeden öncemi, sonramı çalışacağını ve ne yapması gerektiğini yine kodla yazıyorsunuz..
Öncelikle bir function olusturun bence, aşağıdaki kodu SQL bölümünde çalıştırın. Bu fonksiyon kendine verilen metindeki her kelimenin ilk harfini büyük yapar.
CREATE FUNCTION CAP_FIRST (input VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
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;
Şimdide yukardaki fonksiyonu klullanan Triggerımızı yazalım
CREATE TRIGGER TRG_IlkHarfBuyut BEFORE INSERT ON Tablo_adı
FOR EACH ROW BEGIN
SET NEW.full_name= CAP_FIRST(NEW.full_name);
END
Bu yukadardaki tabloadı kısmına kendi tablonu yaz ama user yazınca hata verebilir ne de olsa user özel bir ifade, hata verirse user adını MYSQL de nasıl bilmiyorum ama MSSQL de [user] olarak yazmak gerekiyor, belki MySQL' de de aynıdır.
Hepsi bu, Yukarıdaki iki kodu çalıştırdıktan sonra artık o tabloya ne kayıt eklerseniz ekleyin full_name içeriği otomatik olarak istediğiniz şekilde değiştirilecektir.