我有这个问题,我想办法上传我的数据是在.xls格式,并在mysql输入正确的信息。我用phpmyadmin和php上传文件,但现在我有问题与主键。。。抱歉,我是通过php编程的新手,我不知道为什么,一旦我定义了主键并且脚本发送了主键不尊重的数据,并且不将相同的id(primarykey)分配给相同的值,例如:
我输入数据的代码如下:
<?php
require_once 'db_con.php';
if(isset($_POST["submit_file"]))
{
$file = $_FILES["file"]["tmp_name"];
$file_open = fopen($file,"r");
while(($csv = fgetcsv($file_open, 1000, ",")) !== false)
{
$fecha= $csv[0];
$tipo = $csv[1];
$impresion = $csv[2];
$hojas= $csv[3];
$cadena_nombre = explode('(', $csv[4]);
$usuario =$cadena_nombre [0];
$usuario =$csv[4];
$stmt = $DBcon->prepare("INSERT INTO trabajo
(fecha,tipo,impresion,hojas,usuario)
VALUES(:fecha,:tipo,:impresion,:hojas,:usuario)");
$stmt->bindparam (':fecha', $fecha);
$stmt->bindparam(':tipo', $tipo);
$stmt->bindparam(':impresion', $impresion);
$stmt->bindparam(':hojas', $hojas);
$stmt->bindparam(':usuario', $usuario);
$stmt->execute();
}
}
echo "CSV Imported Successfully";
?>
我的ddl如下所示:
CREATE TABLE `trabajo` (
`fecha` date NOT NULL,
`hojas` int(25) NOT NULL,
`impresion` int(25) NOT NULL,
`tipo` varchar(60) NOT NULL,
`usuario` varchar(60) NOT NULL,
`usuario_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `trabajo`
ADD PRIMARY KEY (`usuario_id`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `trabajo`
--
ALTER TABLE `trabajo`
MODIFY `usuario_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12592;
COMMIT;
暂无答案!
目前还没有任何答案,快来回答吧!