Maison > Article > base de données > Le curseur Mysql ne trouve pas le problème de données et la solution
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);
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();
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秒)
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!