mysql多表字段名重复的情况

 

 

CREATE TABLE `card` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `json_str` varchar(100) NOT NULL,
  `f` decimal(10,2) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=574 DEFAULT CHARSET=utf8


CREATE TABLE `card2` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `json_str` varchar(100) NOT NULL,
  `f` decimal(10,2) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=574 DEFAULT CHARSET=utf8

 

mysql命令行下的执行结果:

技术分享

相同的字段名会按相同的显示

 

navicate下的执行结果

技术分享

相同的字段名,后面的会链接一个编号(编号依次递增)

技术分享

技术分享

 

pdo方式获取数据

$dsn = "mysql:host=127.0.0.1;port=3306;dbname=test";
$opts = array(PDO::ATTR_AUTOCOMMIT=>0, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION, PDO::ATTR_AUTOCOMMIT=>0);
try {
    $pdo = new PDO($dsn, ‘root‘, ‘‘, $opts);
}catch(PDOException $e){
    echo $e->getMessage();
}


//获取结果
$stmt = $pdo->prepare("SELECT * FROM `card` as a left join card2 as b on a.id = b.id");
$stmt->execute();

//方式1
$data = $stmt->fetchAll(pdo::FETCH_ASSOC);

ee($data);

 

技术分享

 

 

注意:后面的会覆盖前面的

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。