Maison > base de données > tutoriel mysql > le corps du texte

Le curseur Mysql ne trouve pas le problème de données et la solution

零下一度
Libérer: 2017-05-12 11:04:41
original
2863 Les gens l'ont consulté

Il y a quelques jours, j'ai rencontré un problème de curseur mysql incapable de trouver des données. Ce problème m'a dérangé pendant deux jours, et maintenant je l'ai enfin résolu, je vais le partager avec vous ci-dessous. .

Ceci est une instruction de création de table, insérez deux lignes de données

drop table如果存在testinfo;
创建表testinfo
(
name varchar(10)not null,
年龄int
);
truncate table testinfo;
插入testinfo()值('你',15);
插入testinfo()值('me',20);
Copier après la connexion

Interrogez les données de la table de

mysql> select name,age from testinfo; 
+ ------ + ------ + 
| 名称| 年龄| 
+ ------ + ------ + 
| 你| 15 | 
| 我| 20 | 
+ ------ + ------ + 
这是使用游标的存储过程 
drop procedure if exists test_proc;
分隔符//
创建过程test_proc()
开始
DECLARE done int default false;
DECLARE一个char(10);
DECLARE b int;
DECLARE cur1游标用于选择名称,age from testinfo;
DECLARE继续处理SQLSTATE'02000'set done = true;
打开cur1;
read_loop:loop
        FETCh cur1进入a,b;
        如果这样做了
                离开read_loop
        万一;
        选择@ a,@ b;
        插入testinfo值(@ a,@ b);
端环;
关闭cur1;
结束
//
分隔符
调用test_proc();
Copier après la connexion

Le résultat de l'exécution est le suivant

mysql> \。/opt/mysql/test_proc.sql 
查询行,受影响的0行,1个警告(0.00秒) 
查询行,受影响(0.02秒)0行 
+ ------ + ------ + 
| @a | @b | 
+ ------ + ------ + 
| NULL | NULL | 
+ ------ + ------ + 
1行集(0.00秒)
Copier après la connexion

Il y a une erreur dans ce qui précède : 1048 (23000) : La colonne 'nom' ne peut pas être vide

Je ne le fais pas' Je ne sais pas où est l'erreur, pourquoi prendre
Aucune donnée ? Cela fait deux jours, et maintenant je sais enfin. Il devrait être modifié comme ceci, l est comme suit :

Insérez la valeur testinfo (@ a, @ b); changez-la pour insérer la valeur testinfo (a, b)
déclarez. les variables a, b, puis passent Le curseur lui attribue une valeur, mais il n'attribue pas de valeur à @a, @b...

Donc si vous rencontrez un problème, cela peut être facilement résolu si vous regardez attentivement.

[Recommandations associées]

1. Tutoriel vidéo en ligne MySQL gratuit

2. Dernier tutoriel manuel MySQL

.

3. Choses sur la conception de bases de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal