请教下
Delimiter ||
Create procedure call_repair(in a int,in b date)
Begin
Insert into repair (C_id,Time) value (a,b);
Update repair set State=’repair’ where C_id=a;
Update computer set If_repair=’repair’ where C_id=a;
end
Delimiter ;
这个存储过程,我输入创建这个存储过程后出现这个问题、
ERROR 1300 (HY000): Invalid utf8 character string: '’repair’'
是什么问题啊?我在computer里面的If_repair是varchar(10)
而repair表中的State是varchar(20)
但是要是不给repair加上单引号的话存储过程创建倒是没问题了,但是运行的时候出现这个问题
ERROR 1054 (42S22): Unknown column 'repair' in 'field list'
并且表里面的要更新的选项没有反应,求教怎么解决?
Delimiter ||
Create procedure call_repair(in a int,in b date)
Begin
Insert into repair (C_id,Time) value (a,b);
Update repair set State=’repair’ where C_id=a;
Update computer set If_repair=’repair’ where C_id=a;
end
Delimiter ;
这个存储过程,我输入创建这个存储过程后出现这个问题、
ERROR 1300 (HY000): Invalid utf8 character string: '’repair’'
是什么问题啊?我在computer里面的If_repair是varchar(10)
而repair表中的State是varchar(20)
但是要是不给repair加上单引号的话存储过程创建倒是没问题了,但是运行的时候出现这个问题
ERROR 1054 (42S22): Unknown column 'repair' in 'field list'
并且表里面的要更新的选项没有反应,求教怎么解决?
解决方案 »
- 急!mysql 版本太低,数据全都烂掉了。乱码的问号(V4.1.20)
- 求助一个分区问题
- Navicat连接mysql:1045-Acess denied for user:'root'@'localhost'(Using password:YES)
- 求一SQL的写法 谢谢
- 问一下mysql 的存储过程输出参数的问题
- 写一个简单的postgresql函数 返回一个表中所有数据出错!!!!
- 这样的数据索引如何建立??
- 高手请进,dos 下不能进入数据库是怎么回事?
- linux下的数据库 mysql崩溃了怎么办?不知道怎样重新安装(不让安装)
- mySQL question
- Undefine reference to 'my_progname'
- mysql访问量稍大,就会内存占满而停止,请帮忙分析一下原因
Create procedure call_repair(in a int,in b date)
Begin
Insert into repair (C_id,Time) value (a,b);
Update `repair` set State=’repair’ where C_id=a;
Update computer set If_repair=’repair’ where C_id=a;
end
Delimiter ;注意不是单引号。 repair 是保留字。
show variables like 'char%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
用了后效果是这样的。。怎么解决?
Delimiter ||
Create procedure call_repair(in a int,in b date)
Begin
Insert into repair (C_id,Time) value (a,b);
Update `repair` set State=’repair’ where C_id=a;
Update computer set If_repair=’repair’ where C_id=a;
end ||
Delimiter ;
注意一下你用的是什么鬼符号! 请使用单引号' !Delimiter ||
Create procedure call_repair(in a int,in b date)
Begin
Insert into repair (C_id,Time) value (a,b);
Update `repair` set State='repair' where C_id=a;
Update computer set If_repair='repair' where C_id=a;
end ||
Delimiter ;