![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Приветствую
Вот написал код в соответствии с примером туториала, но он не работает при вызове
call userdb.add('login','path','name','sdesc','catheg')
точнее работает только до создания таблицы, а уже вставку не делает
Выбрасывает
#42S22 Unknown 'column upload_file_save_path' in the 'field list'
вот код
CREATE PROCEDURE userdb.add(
IN loginp varchar(20),
IN upload_file_save_pathp varchar(127),
IN upload_file_namep varchar(50),
IN upload_file_descp varchar(127),
IN upload_file_cathegoryp varchar(20)
)
BEGIN
set @sql=concat('CREATE TABLE IF NOT EXISTS userdb.',loginp,'(
upload_file_save_path varchar(127),
upload_file_name varchar(50) ,
upload_file_desc varchar(127) ,
upload_file_cathegory varchar(20) ,
upload_date date ,
id int NOT NULL, PRIMARY KEY (id)) TYPE = MyISAM ROW_FORMAT =DEFAULT');
PREPARE s1 from @sql;
EXECUTE s1;
DEALLOCATE PREPARE s1;
set @sql2=concat(
'INSERT INTO userdb.',loginp,'(',upload_file_save_path,',',upload_file_name,',',upload_file_desc,',',upload_file_cathegory,',',upload_date,',',id,')
VALUES("',upload_file_save_pathp,'","',upload_file_namep,'","',upload_file_descp,'","',upload_file_cathegoryp,'",',CURRENT_DATE,',1);');
PREPARE s2 from @sql2;
EXECUTE s2;
DEALLOCATE PREPARE s2;
ENDMySQL 5.1.39
Отредактированно mysqluser (03.05.2010 06:50:42)
Неактивен

Скорее всего проблема в том что в INSERT INTO tablename (...fields...) вы передаете значения переменных.
Попробуйте так:
Неактивен

Проблема в опечатке при создании таблицы ![]()
Неактивен