怎样将mysql查询结果集中的字段值赋给变量
其实我想实现一个简单的功能就是查询表中
CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
)name=给定值的记录村不存在,若存在返回id

解决方案 »

  1.   

    IF EXISTS (SELECT id FROM test WHERE `name`='test') THEN
    -- todo 返回该条记录的id
            这个地方怎样实现???????
    ELSE 
    INSERT INTO test (`name`) VALUES ('test');
    SET id = @@IDENTITY;
    END IF;
    RETURN id;
      

  2.   

    ID为自增、唯一DELIMITER $$
    drop procedure if exists rr1a$$
    CREATE PROCEDURE `test`.`rr1a`(na varchar(100),out ee int )
           BEGIN
    declare nn int;
    select id into ee from `test` where `name`=na;
    select @nn;
        END$$DELIMITER ;call rr1a('你的值',@ww)
      

  3.   

    IF EXISTS (SELECT id FROM test WHERE `name`='test') THEN 
      -- todo 返回该条记录的id 
             select id into @ee from `test` where `name`='test'; 
     ELSE  
      INSERT INTO test (`name`) VALUES ('test'); 
      SET id = last_insert_id(); 
     END IF; 
     RETURN id;
      

  4.   

    多谢 WWWWA 。
    我刚才测试 select .. into .. 没测试成功,写在方法里还是能用的,问题解决了
    再次感谢 WWWWA 
    结贴