mysql多表字段名重复的情况

本文深入探讨了MySQL数据库操作的基础知识,通过实例展示了如何使用MySQL命令行、Navicat和PDO来创建、读取、更新和删除数据库表。重点介绍了如何通过PDO实现数据库连接、执行SQL查询以及数据的获取和展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

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);

 

 

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值