问答详情
源自:5-5 [PDO] 数据库操作类之主键查询

findById 其他表不一定就是字段名为id 可能为user_id goods_id 不也应该传参进去吗

findById 其他表不一定就是字段名为id 可能为user_id goods_id  不也应该传参进去吗

public static function findById($tabName,$priId,$fields="*"){
		$sql = 'SELECT %s FROM %s where id =%d ';
		return self::getRow(sprintf($sql,self::parseFields($fields),$tabName,$priId));

	}


提问者:黎子颖 2015-10-18 18:16

个回答

  • 一朵大白天
    2016-10-15 22:53:39

    //sql语句中查询主键字段名

    select COLUMN_KEY,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where table_name='表名字' AND COLUMN_KEY='PRI' AND TABLE_SCHEMA='数据库名字';

  • pardon110
    2015-11-04 16:59:52

    你新增一个方法获取主键字段。即通过数据库名,表名获取表的主键字段名,其sql参考形如下

    SELECT k.column_name
    
    FROM information_schema.table_constraints t
    
    JOIN information_schema.key_column_usage k
    
    USING (constraint_name,table_schema,table_name)
    
    WHERE t.constraint_type='PRIMARY KEY'
    
      AND t.table_schema='db'
    
      AND t.table_name=tbl'