PDA

Ver la Versión Completa : Campos TEXT de mySQL


salvica
18-06-2004, 16:13:49
Hola a todos
¿Podeis decirme cómo se insertan datos en los campos definidos como TEXT?

Tengo una tabla definida de la siguiente forma:

CREATE TABLE IF NOT EXISTS productos (
`id_registro` INT NOT NULL AUTO_INCREMENT,
`clv_producto` CHAR(20) NOT NULL,
`id_area` INT(5) ZEROFILL UNSIGNED NOT NULL DEFAULT 0,
`id_familia` INT(5) ZEROFILL UNSIGNED NOT NULL DEFAULT 0,
`id_subfamilia` INT(5) ZEROFILL UNSIGNED NOT NULL DEFAULT 0,
`id_producto` INT(5) ZEROFILL UNSIGNED NOT NULL DEFAULT 0,
`nombre` VARCHAR(50) NOT NULL DEFAULT "",
`marca` VARCHAR(15) NOT NULL DEFAULT "",
`corto` VARCHAR(150) NOT NULL DEFAULT "",
`describe` TEXT NOT NULL DEFAULT "",
`caracter` TEXT NOT NULL DEFAULT "",
`serie` TEXT NOT NULL DEFAULT "",
`opcional` TEXT NOT NULL DEFAULT "",
`dirImagen` VARCHAR(150) NOT NULL DEFAULT "",
`fileImagen` VARCHAR(50) NOT NULL DEFAULT "",
`precio` FLOAT NOT NULL DEFAULT 0.000,
PRIMARY KEY (`id_registro`)
);


Si intento cargar los datos diréctamente mediante

INSERT INTO productos ( clv_producto, id_area, id_familia, id_subfamilia, id_producto, nombre, marca, corto, describe, dirImagen, fileImagen )
VALUES( '00001000010000100001', '00001', '00001', '00001', '00001',
'ALAMBRE CABLEADO',
'',
'LINEA INDUSTRIAL - ALAMBRE CABLEADO DE ALTO RENDIMIENTO',
'Esta seria la salida de una función para crear el TEXT',
'ferreteria_industrial/abrasivos_corte/alambres_lijadores/',
'alambre_cableado.jpg'
);


me dá error en la ejecución de la query :confused::confused::confused:

Solo me deja hacerlo si lo divido en dos partes

INSERT INTO productos ( clv_producto, id_area, id_familia, id_subfamilia, id_producto, nombre, marca, corto, dirImagen, fileImagen )
VALUES( '00001000010000100001', '00001', '00001', '00001', '00001',
'ALAMBRE CABLEADO',
'',
'LINEA INDUSTRIAL - ALAMBRE CABLEADO DE ALTO RENDIMIENTO',
'ferreteria_industrial/abrasivos_corte/alambres_lijadores/',
'alambre_cableado.jpg'
);
UPDATE productos
SET `describe` = 'Esta seria la salida de una función para crear el TEXT',
WHERE `clv_producto` = '00001000010000100001';

¿Podeis ayudar a un "manazas"?
Agradecido

Panoramix
02-07-2004, 14:19:32
Buenas,


Si el contenido no es un literal sino la salida de una funcion para generar el valor, quizà deberias de ponerlo sin comillas simples ' '.

Prueba con eso.

santana
02-07-2004, 18:53:34
Hilo movido desde el foro de SQL al foro de MySQL.

Saludos.