PHP中mysql_insert_id()函数获取最后插入记录ID编号
这个问题以前绝壁遇到过,太久没写不记得(貌似当时是CI框架直接有相关函数的),然后这次又遇到了,再次滚去查了一下,这里说的并非是PDO之类的情况,而是用过时的连接和执行方式之后怎么进行操作。
有什么SQL语句实现的,但明显不合适,当收到多人操作时,顿时就混乱不堪。
所以在此,用mysql_insert_id()函数搞定,他会返回AUTO_INCRESEMENT的值。
代码如下 | 复制代码 |
<?php mysql_query("INSERT INTO mytable (product) values ('kossu')"); |
刚开始我还在想这个函数不会遇到相同的问题么,然后小新告诉我是基于当前数据库连接的,顿时不怕不怕啦。
当然还有
代码如下 | 复制代码 |
mysql_query("select max(id) from t1",$link); |
当然,现在这种连接方式已经out的可以了,
这里也有说明:
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_insert_id()
PDO::lastInsertId()
我的PHP环境是5.4,使用mysql时突然出现以下错误:
mysql_connect(): Headers and client library minor version mismatch. Headers:50508 Library:50166
索性换成mysqlnd扩展,下面简单介绍mysqlnd:
mysqlnd(MySQL native driver for PHP)是php5.3后php自带的mysql驱动,官方推荐使用,优势如下:
A.libmysql驱动是由mysql AB公司(现在是oracle公司)编写, 并按mysql license许可协议发布,所以在PHP中默认是被禁用的.
而mysqlnd是由php官方开发的驱动,以php license许可协议发布,故就规避了许可协议和版权的问题
B.因为mysqlnd内置于PHP源代码,故你在编译安装php时就不需要预先安装mysql server也可以提供mysql client API (mysql_connect, pdo , mysqli), 这将减化一些工作量.
C. mysqlnd是专门为php优化编写的驱动,它使用了PHP本身的特性,在内存管理,性能上比libmysql更有优势. php官方的测试是:libmysql将每条记录在内存中保存了两份,而mysqlnd只保存了一份
D. 一些新的或增强的功能
增强的持久连接
引入特有的函数mysqli_fetch_all()
引入一些性能统计函数 mysqli_get_cache_stats(), mysqli_get_client_stats(),
mysqli_get_connection_stats(),
使用上述函数,可很容易分析mysql查询的性能瓶颈!
SSL支持(从php 5.3.3开始有效)
压缩协议支持
命名管道支持(php 5.4.0开始有效)
如何使用mysqlnd驱动?
传统的编译php时带如下参数:
--with-mysql=/usr/local/mysql
--with-pdo-mysql=/usr/local/mysql
查看编译参数:
[root@localhost php54]#./configure --help | grep mysql
--with-mysql=DIR Include MySQL support. DIR is the MySQL base
mysqlnd the MySQL native driver will be used
--with-mysql-sock=SOCKPATH MySQL/MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer.
--with-mysqli=FILE Include MySQLi support. FILE is the path
to mysql_config. If no value or mysqlnd is passed
--enable-embedded-mysqli MYSQLi: Enable embedded support
--with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory
If no value or mysqlnd is passed as DIR, the
--enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly
--disable-mysqlnd-compression-support
Disable support for the MySQL compressed protocol in mysqlnd
--with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix
可以看到只要不指定,默认就是mysqlnd。于是重新编译PHP:
./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap--with-mysql --with-pdo-mysql --with-mysqli
本文实例讲述了可用mysql,mssql,pg三种数据库的数据库操作类,你只要作任何修改就可以方便的改变你数据库的类型.分享给大家供大家参考。具体分析如下:
函数清单,索引:
Open:打开数据库连接 Line:71
Close:关闭数据库连接 Line:107
SelectDB:选择数据库 Line:129
Query:创建查询 Line:151
DataSeek:移动记录指针 Line:175
FieldName:获取字段名称 Line:198
FieldType:获取字段类型 Line:220
FieldLenght:获取字段长度 Line:242
FetchRow:获取数据并保存到数组(数字索引) Line:264
FetchArray:获取数据并保存进数组(数字和关联) Line:289
FetchObject:获取数据并保存到对象(对象方式) Line:315
Result:获取结果数据 Line:341
FreeResult:刷新记录集 Line:363
RowsNumber:获取记录数量 Line:385
FieldsNumber:获取字段数量 Line:407
CurRecNumber:获取当前记录号(从0开始) Line:429
RecordNumber:获取当前行号(从1开始) Line:438
MoveFirstRec:移动到第一条记录 Line:447
MoveLastRec:移动到最后一条记录 Line:469
MovePreviousRec:移动到前一条记录 Line:495
MoveNextRec:移动到下一条记录 Line:521
MoveToRec:移动到一个特定的记录(从1开始) Line:548
php数据库操作类代码如下:
代码如下 | 复制代码 |
<?PHP /********************************************************************************** 此类将数据库操作封装,具有良好的可移植性,针对数据库:mysql,mssql,pg ************************************************************************************ // -函数清单 索引: // - Open: 打开数据库连接 Line:71 // - Close: 关闭数据库连接 Line:107 // - SelectDB: 选择数据库 Line:129 // - Query: 创建查询 Line:151 // - DataSeek: 移动记录指针 Line:175 // - FieldName: 获取字段名称 Line:198 // - FieldType: 获取字段类型 Line:220 // - FieldLenght: 获取字段长度 Line:242 // - FetchRow: 获取数据并保存到数组(数字索引) Line:264 // - FetchArray: 获取数据并保存进数组(数字和关联) Line:289 // - FetchObject: 获取数据并保存到对象(对象方式) Line:315 // - Result: 获取结果数据 Line:341 // - FreeResult: 刷新记录集 Line:363 // - RowsNumber: 获取记录数量 Line:385 // - FieldsNumber: 获取字段数量 Line:407 // - CurRecNumber: 获取当前记录号(从0开始) Line:429 // - RecordNumber: 获取当前行号(从1开始) Line:438 // - MoveFirstRec: 移动到第一条记录 Line:447 // - MoveLastRec: 移动到最后一条记录 Line:469 // - MovePreviousRec: 移动到前一条记录 Line:495 // - MoveNextRec: 移动到下一条记录 Line:521 // - MoveToRec: 移动到一个特定的记录(从1开始) Line:548 ************************************************************************************ //Inputs: // - dbType: databases type: mssql, mysql, pg // - connectType: connection type: c - common connection, // p - open persistent connection // - connect: for MS SQL Server - server name, // for MySQL - hostname [:port] [:/path/to/socket] , // for PostgreSQL - host, port, tty, options, // dbname (without username and password) // - username // - password // - dbName: database name // - query: SQL query // - result: result set identifier // - RowNumber: // - offset: field identifier // - ResultType: a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH // - FieldName // //Returns: // - result: result set identifier // - connect link identifier // - record number (starting at 0: CurrRecNumber or starting at 1: RecordNumber) // - number of fields in the specified result set // - number of rows in the specified result set *************************************************************************************/ Class mDatabase { /***********************************成员变量定义***************************************/ var $dbType; // 数据库类型: mssql, mysql, pg var $connectType; // 连接类型: c - common connection, p - open persistent connection var $idCon; // 连接号 var $curRow; // current row number of data from the result // associated with the specified result identifier array var $seek; // current row number of data from DataSeek function array /***********************************成员方法实现***************************************/ /************************************************************************************ *连接数据库的函数 *************************************************************************************/ Function Open($dbType, $c, $connect, $username = "", $password = "") { $this->dbType = $dbType; Switch ($dbType) { Case "mssql": If ($connectType == "c") { $idCon = mssql_connect($connect, $username, $password); } Else { $idCon = mssql_pconnect($connect, $username, $password); } Break; Case "mysql": If ($connectType == "c") { $idCon = mysql_connect($connect, $username, $password); } Else { $idCon = mysql_pconnect($connect, $username, $password); } Break; Case "pg": If ($connectType == "c") { $idCon = pg_connect($connect . " user=" . $username . " password=" . $password); } Else { $idCon = pg_pconnect($connect . " user=" . $username . " password=" . $password); } Break; Default: $idCon = 0; Break; } $this->idCon = $idCon; Return $idCon; } /************************************************************************************ *关闭数据库连接 *************************************************************************************/ Function Close() { Switch ($this->dbType) { Case "mssql": $r = mssql_close($this->idCon); Break; Case "mysql": $r = mysql_close($this->idCon); Break; Case "pg": $r = pg_close($this->idCon); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *选择数据库 *************************************************************************************/ Function SelectDb($dbName) { Switch ($this->dbType) { Case "mssql": $r = mssql_select_db($dbName); Break; Case "mysql": $r = mysql_select_db($dbName); Break; Case "pg": $r = False; Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *创建查询 *************************************************************************************/ Function Query($query) { Switch ($this->dbType) { Case "mssql": $r = mssql_query($query, $this->idCon); Break; Case "mysql": $r = mysql_query($query, $this->idCon); Break; Case "pg": $r = pg_exec($this->idCon, $query); Break; Default: $r = False; Break; } $this->curRow[$r] = 0; $this->seek[$r] = 0; Return $r; } /************************************************************************************ *移动记录指针 *************************************************************************************/ Function DataSeek($result, $RowNumber) { Switch ($this->dbType) { Case "mssql": $r = mssql_data_seek($result, $RowNumber); Break; Case "mysql": $r = mysql_data_seek($result, $RowNumber); Break; Case "pg": $r = False; Break; Default: $r = False; Break; } $this->seek[$result] = (int) $RowNumber; Return $r; } /************************************************************************************ *获取字段名 *************************************************************************************/ Function FieldName($result, $offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_name($result, $offset); Break; Case "mysql": $r = mysql_field_name($result, $offset); Break; Case "pg": $r = pg_fieldname($result, $offset); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取字段类型 *************************************************************************************/ Function FieldType($result, $offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_type($result, $offset); Break; Case "mysql": $r = mysql_field_type($result, $offset); Break; Case "pg": $r = pg_fieldtype($result, $offset); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取字段长度 *************************************************************************************/ Function FieldLength($result, $offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_length($result, $offset); Break; Case "mysql": $r = mysql_field_len($result, $offset); Break; Case "pg": $r = pg_fieldsize($result, $offset); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取数据并保存到数组,可以用数字索引方式访问数组 *************************************************************************************/ Function FetchRow($result, $RowNumber = 0) { Switch ($this->dbType) { Case "mssql": $r = mssql_fetch_row($result); Break; Case "mysql": $r = mysql_fetch_row($result); Break; Case "pg": $r = pg_fetch_row($result, $RowNumber); If ($r) { $this->curRow[$result] = $RowNumber; $this->seek[$result] = $RowNumber; } Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取数据并保存到数组,可以用数字索引和关联索引的方式访问 *************************************************************************************/ Function FetchArray($result, $RowNumber = 0, $ResultType = 2) { Switch ($this->dbType) { Case "mssql": $r = mssql_fetch_array($result); Break; Case "mysql": $r = mysql_fetch_array($result); Break; Case "pg": $r = pg_fetch_array($result, $RowNumber, $ResultType); If ($r) { $this->curRow[$result] = $RowNumber; $this->seek[$result] = $RowNumber; } Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取数据并保存到对象 *************************************************************************************/ Function FetchObject($result, $RowNumber = 0, $ResultType = 2) { Switch ($this->dbType) { Case "mssql": $r = mssql_fetch_object($result); Break; Case "mysql": $r = mysql_fetch_object($result); Break; Case "pg": $r = pg_fetch_object($result, $RowNumber, $ResultType); If ($r) { $this->curRow[$result] = $RowNumber; $this->seek[$result] = $RowNumber; } Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取结果数据 *************************************************************************************/ Function Result($result, $RowNumber, $FieldName) { Switch ($this->dbType) { Case "mssql": $r = mssql_result($result, $RowNumber, $FieldName); Break; Case "mysql": $r = mysql_result($result, $RowNumber, $FieldName); Break; Case "pg": $r = pg_result($result, $RowNumber, $FieldName); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *释放结果数据 *************************************************************************************/ Function FreeResult($result) { Switch ($this->dbType) { Case "mssql": $r = mssql_free_result($result); Break; Case "mysql": $r = mysql_free_result($result); Break; Case "pg": $r = pg_freeresult($result); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取记录数量 *************************************************************************************/ Function RowsNumber($result) { Switch ($this->dbType) { Case "mssql": $r = mssql_num_rows($result); Break; Case "mysql": $r = mysql_num_rows($result); Break; Case "pg": $r = pg_numrows($result); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取字段数量 *************************************************************************************/ Function FieldsNumber($result) { Switch ($this->dbType) { Case "mssql": $r = mssql_num_fields($result); Break; Case "mysql": $r = mysql_num_fields($result); Break; Case "pg": $r = pg_numfields($result); Break; Default: $r = False; Break; } Return $r; } /************************************************************************************ *获取当前记录号(从0开始) *************************************************************************************/ Function CurRecNumber($result) { $r = $this->curRow[$result]; Return $r; } /************************************************************************************ *获取当前行号(从1开始) *************************************************************************************/ Function RecordNumber($result) { $cr = $this->CurRecNumber($result) + 1; Return $cr; } /************************************************************************************ *移动到第一条记录 *************************************************************************************/ Function MoveFirstRec($result) { Switch ($this->dbType) { Case "pg": $r = $this->FetchRow($result, 0); Break; Default: $rn = $this->DataSeek($result, 0); If ($rn) { $r = $this->FetchRow($result); If ($r) $this->curRow[$result] = $this->seek[$result]; } Else { $r = False; } Break; } Return $r; } /************************************************************************************ *移动到最后一条记录 *************************************************************************************/ Function MoveLastRec($result) { $rs = $this->RowsNumber($result); If ($rs) { $rs--; Switch ($this->dbType) { Case "pg": $r = $this->FetchRow($result, $rs); Break; Default: $rn = $this->DataSeek($result, $rs); If ($rn) { $r = $this->FetchRow($result); If ($r) $this->curRow[$result] = $this->seek[$result]; } Else { $r = False; } Break; } } Return $r; } /************************************************************************************ *移动到前一条记录 *************************************************************************************/ Function MovePreviousRec($result) { $rs = $this->CurRecNumber($result); If ($rs) { $rs--; Switch ($this->dbType) { Case "pg": $r = $this->FetchRow($result, $rs); Break; Default: $rn = $this->DataSeek($result, $rs); If ($rn) { $r = $this->FetchRow($result); If ($r) $this->curRow[$result] = $this->seek[$result]; } Else { $r = False; } Break; } } Return $r; } /************************************************************************************ *移动到下一条记录 *************************************************************************************/ Function MoveNextRec($result) { $rs = $this->CurRecNumber($result); $rn = $this->RowsNumber($result); $rs++; If ($rs != $rn) { Switch ($this->dbType) { Case "pg": $r = $this->FetchRow($result, $rs); Break; Default: $re = $this->FetchRow($result); If ($re) { $r = $re; $this->curRow[$result]++; $this->seek[$result] = $this->curRow[$result]; } Else { $r = False; } Break; } } Return $r; } /************************************************************************************ *移动到指定记录(编号从0开始) *************************************************************************************/ Function MoveToRec($result, $RowNumber) { $rn = $this->RowsNumber($result); If ($RowNumber > 0 And $RowNumber < $rn) { $RowNumber--; Switch ($this->dbType) { Case "pg": $r = $this->FetchRow($result, $RowNumber); Break; Default: $rn = $this->DataSeek($result, $RowNumber); If ($rn) { $r = $this->FetchRow($result); If ($r) $this->curRow[$result] = $this->seek[$result]; } Else { $r = False; } Break; } } Return $r; } } //********************************方法实现完毕****************************************// ?> |
我没有骗你吧,真的是我见过最强大的php数据库操作类。
下面我们来看看php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决办法。错误
Connection failed: SQLSTATE[HY000] [2002] No such file or directory
环境概述:
MacOS
xampp 搭建的开发环境 apache mysql php
xampp 已支持mysql oracle 测试ok,且 phpinfo已上显示支持pdo_mysql pdo_pgsql pdo_sqlite
其中mysql我用的是brew包管理安装到机器里面的,而非xampp自带的mysql
php pdo 连接报错 Connection failed: SQLSTATE[HY000] [2002] No such file or directory
开始以为找不到文件是因为 url rewrite导致的,(因为从nginx切换到apache)结果跟踪程序发现是 new pdo 报错
经过搜索一些资料研究发现:
这个是php.ini配置文件中pdo_mysql.default_socket指定的mysql.sock路径不对
我的mysql.sock文件在 /private/tmp/mysql.sock
所以要设置:
pdo_mysql.default_socket=/private/tmp/mysql.sock
如果不知道自己的mysql.sock在哪里可以搜索(因为编译安装,和yum、apt-get、或者brew等包管理工具安装的位置不一样)
sudo find / -name ‘mysql.sock’
下面是官方给出bug修复
1. Open up php.ini (mine was in /private/etc/)
2. locate this line: pdo_mysql.default_socket=/var/mysql/mysql.sock
3. Change the line to: pdo_mysql.default_socket=/tmp/mysql.sock
4. Restart apache
1、我这里需要补充下,如果是新系统或者刚玩php的同志,在Mac的系统中php.ini 文件不存在,
2、需要在/private/etc/目录下cp php.ini.default
php.ini ,然后再做修改下,
3、但是如果使用的xampp mysql作为数据库,那么就不需要使用官方的step2,直接写下面方式就可以了。
pdo_mysql.default_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
解决方法三
sudo vim /etc/php.ini
把以下三个原来空白的值都设置为 /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
都修改了
修改完成后使用
sudo /usr/sbin/apachectl restart
PHPExcel导出excel对于这个插件来讲是非常的简单了,但在thinkphp中并不那么简单了,有不少的朋友不知道如何操作,下面小编就为大家介绍ThinkPHP中用PHPExcel导出excel文件的过程。
1.准备:自己制作一个生成的excel参考的模板文件,template.xls,我的模板为
2.大家要注意一点,我要输出的数据是从第4行开始填充的,但是最好留出一行空的,比如说第5行,并不仅仅为了查出来的数据和统计总数分开好看,也是为了方便在模板里面设置函数,比如说上面的D6,用了SUM(D4:D5)函数,我是想统计D这一列的数据,但是在D6函数不能仅仅是=SUM(D4)吧,等生成数据的时候就到达不了效果,查出来的数据就是统计D4这个了,所以记得留出一行
2.下载PHPExcel文件,网上一百度就出来了,下载下来解压后目录结构如下:(附件中也提供有下载,附件中的PHPExcel是经过我的压缩,把多余的东西删除了的)
结构目录的说明,
1.下载下来的文件夹有3个文件夹和3个txt的说明文档(说明文档就不说了):
require './include/phpexcel/Classes/PHPExcel.php';这样加载,只能是用Vendor()加载第三方类库方式加进去。(这个很重要,我之前一直不成功原因就是在这里)
5.我的项目目录如下:
6.在IndexAction中的index()内写如下方法
代码如下 | 复制代码 |
class IndexAction extends Action { /**导出的excel表格 */ function index() { //将需要导出到excel的数据查询出来 $mdata = M ( 'a' ); $data = $mdata->select (); //开始生成excel内容 /** 加载IOFactory包 */ Vendor ( 'Excel.Classes.PHPExcel' ); //Vendor路径的写法参考ThinkPHP文档 /** 错误信息 */ error_reporting ( E_ALL ); $objReader = PHPExcel_IOFactory::createReader ( 'Excel5' ); //在内存中建一个excel2003操作 //加载需要读取的模板放在内存的excel中,路径一定要对啊,我在index.php中用了define(ROOT, dirname(__FILE__));所以下面这样写 $objPHPExcel = $objReader->load ( ROOT . "/Pulice/template/template.xls" ); //设置excel格式 //$objPHPExcel->getActiveSheet ()->setCellValue ( 'B1', '统计表' ); //在B位置显示标题,可以动态添加,这个例子中我是在母版中写死了的 $objPHPExcel->getActiveSheet ()->setCellValue ( 'E1', date ( 'Y-m-d H:i:s', time () ) ); //在E位置显示时间 /**将数据用循环放进表格相对应位置S*/ $baseRow = 5; //数据从5-1行开始往下输出,具体数据看你的模板了 foreach ( $data as $r => $dataRow ) { $row = $baseRow + $r; $objPHPExcel->getActiveSheet ()->insertNewRowBefore ( $row, 1 ); //插入新的行 //将数据填充到相对应的位置 $objPHPExcel->getActiveSheet ()->setCellValue ( 'A' . $row, $r + 1 ); //序号 $objPHPExcel->getActiveSheet ()->setCellValue ( 'B' . $row, $dataRow ['codenum'] ); //编号 $objPHPExcel->getActiveSheet ()->setCellValue ( 'C' . $row, $dataRow ['name'] ); //物品名称 $objPHPExcel->getActiveSheet ()->setCellValue ( 'D' . $row, $dataRow ['price'] ); //单价 $objPHPExcel->getActiveSheet ()->setCellValue ( 'E' . $row, $dataRow ['quantity'] ); //数量 } $objPHPExcel->getActiveSheet ()->removeRow ( $baseRow - 1, 1 ); //作用:把最顶上面的那一空白行去掉 //---------上面的代码是从30template.php(加载模板)中copy下来自己改成我想要———————————————— // ----------下面的代码是从01simple-download-xls.php(下载excel表格)中copy下来的------- //将得到的数据导出到excel中提供给用户下载 // 将输出重新定向到客户端浏览器的(Excel5) $filename = date ( 'Y-m-d', time () ); header ( 'Content-Type: application/vnd.ms-excel' ); header ( 'Content-Disposition: attachment;filename="' . $filename . '.xls"' ); //要下载的excel文件的文件名,这设置了用当前时间作为文件名 header ( 'Cache-Control: max-age=0' ); $objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' ); //在内存中准备一个excel2003文件 $objWriter->save ( 'php://output' ); exit (); } } |
7.在模板页调用上面的方法就可以了,比如<a href="{:U('Index/outexcel')}">导出excel</a>
当然啦,想根据条件来导出内容就看你怎么查数据库咯。
写最后:当然啦,我是做好了才截图上来的,所以还没有完善,还要处理一下问题滴,比如说乱码 啊(看你下载下来的有没有乱码咯)。
相关文章
- 这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
- 在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
- 当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。mysql> create table menus(id t...2015-11-08
- 这篇文章主要介绍了c# 用Dictionary实现日志数据批量插入的步骤,帮助大家更好的理解和使用c#中的Dictionary类,感兴趣的朋友可以了解下...2021-02-01
- 这篇文章主要介绍了Asp.Net使用Bulk实现批量插入数据的方法,对于进行asp.net数据库程序设计非常有借鉴价值,需要的朋友可以参考下...2021-09-22
- 这篇文章主要给大家介绍了关于MongoDB CRUD操作中的插入的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-12-08
- 今天小编就为大家分享一篇C#对Word文档的创建、插入表格、设置样式等操作实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了Python操控mysql批量插入数据的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-27
mysql 选择B表数据插入到A表,同时在A表加一个字段的SQL
mysql 选择B表数据插入到A表,同时在A表加一个字段的SQL...2013-09-23IE下select标签innerHTML插入option的BUG
调用方法 addOption(sltObj, '<option>a</option>'); 代码如下 var sltObj=document.getElementById('xx');//获取select对象,这里只是给个例子,可以按自己习惯来获...2016-09-20sql server中批量插入与更新两种解决方案分享(asp.net)
xml和表值函数的相对复杂些这里简单贴一下bcp和SqlDataAdapter进行批量跟新插入方法,未经整理还望见谅...2021-09-22- 本文介绍了php使用PDO事务配合表格读取大量数据插入操作实现方法,非常实用,有兴趣的同学快来看看吧。 在处理大量数据的时候,或者同时对几个表操作,而这几个表的操作...2017-07-06
- 这篇文章主要介绍了MyBatis 实现批量插入和删除中双层循环的写法案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
- 这篇文章主要介绍了如何向一个数组中插入一个1~100的随机数,思路很简单,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#/.Net 中快速批量给SQLite数据库插入测试数据,本文直接给出实例代码,需要的朋友可以参考下...2020-06-25
- 对于php文件操作那么关于在指定的位置插入数据就比较复杂了,下面我们就来看看关系在文件指定行插入数据实例吧。 $arrInsert = insertContent("array.php", "abcdef", 3...2016-11-25
- 这篇文章主要给大家介绍了关于PostgreSQL实现批量插入、更新与合并操作的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-11
- 本篇文章主要介绍了Java数组中插入一个字符的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助...2021-10-11
- 本文介绍了利用时间和随机字符串组合生成唯一订单号的示例,从而保证订单号不会重复,希望能够对大家有所帮助。...2020-06-25
- 在php入门教程中php mysql是少不了的,下面我们就要告诉各位关于php mysql数据删除,更新,插入保存数据代码下面来一一看实例 一、数据删除 代码如下 复制代...2016-11-25