sql >> Base de Datos >  >> RDS >> Mysql

Recortar automáticamente los datos CHAR al insertarlos en la columna VARCHAR

Es posible que pueda hacer que esto funcione mediante el uso de disparadores de MySQL. Aquí hay algo de documentación:https://dev.mysql.com /doc/refman/5.5/en/create-trigger.html

Y un ejemplo:

DROP TABLE IF EXISTS tmp;
CREATE TABLE tmp (`txt` varchar(50));
DROP TRIGGER IF EXISTS insert_tmp;
CREATE TRIGGER insert_tmp BEFORE INSERT ON tmp FOR EACH ROW SET NEW.txt=TRIM(NEW.txt);
INSERT INTO tmp VALUES ("        abc   "), ("efg      ");
SELECT txt, LENGTH(txt) FROM tmp;

Salida:

|abc|3|
|efg|3|