I have a table 에 새로운 데이터가 있는 자주 삽입됨. 마지막에 ID 데릭쉐퍼드와 afaq 테이블. How can I do this?
Max (id) 를 선택한 것은 비슷한 '표'?
>. [ 제발, t ',' 기능을 사용하여 mysql_ don& # 39 의 신규 코드의] (https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). 그들은 더 이상 유지 [있으며, 공식적으로 사용되지 않는] (https://wiki.php.net/rfc/mysql_deprecation). [ 빨간색 기입란 ] 참조 (http://uk.php.net/manual/en/function.mysql-connect.php)? [ Prepared statements *]) 에 대한 자세한 내용 (http://en.wikipedia.org/wiki/Prepared_statement) 를 대신 및 사용 [원산지 보호] (http://php.net/pdo) 또는 [미스크리] (http://php.net/mysqli) - [이 문서는] (http://php.net/manual/en/mysqlinfo.api.choosing.php) 가 도움말에서는 결정할 수 있습니다. 원산지 보호 선택하면, [슬라이드에서는 좋은 자습서는] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers).
사용할 수 있지만, sub> < 경우, 'mysql_insert_id' .< /sub>;
와 [원산지 보호] (http://php.net/manual/en/pdo.lastinsertid.php):
$pdo->lastInsertId();
와 [미스크리] (http://php.net/manual/en/mysqli.insert-id.php):
$mysqli->insert_id;
_
[ 제발, t ',' 기능을 사용하여 mysql_ don& # 39 의 신규 코드의] (https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). 그들은 더 이상 유지 [있으며, 공식적으로 사용되지 않는] (https://wiki.php.net/rfc/mysql_deprecation). [ 빨간색 기입란 ] 참조 (http://uk.php.net/manual/en/function.mysql-connect.php)? [ Prepared statements *]) 에 대한 자세한 내용 (http://en.wikipedia.org/wiki/Prepared_statement) 를 대신 및 사용 [원산지 보호] (http://php.net/pdo) 또는 [미스크리] (http://php.net/mysqli) - [이 문서는] (http://php.net/manual/en/mysqlinfo.api.choosing.php) 가 도움말에서는 결정할 수 있습니다. 원산지 보호 선택하면, [슬라이드에서는 좋은 자습서는] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers).
이들은 'id' 라고 할 수 있는 가장 큰 너희는너희가 작성했습니까 자동 증분됩니다 고유해야 하고 있다는 가정하에 동시성을 틀렸다니까 그땅은 초청 문제를 함께 내린다.
PHP 는 특정 기능을 너무 호출됨 'mysql_insert_id'.
그러나 이 기능을 사용하면 하나의 특정 정보, 후에 이 같은 스크립트입니다 세션용으로 고말은 csetup 쿼리하지 삽입하십시오 호츨 합니다.
마지막 삽입됨 id 를 afaq 코드이그나이터 ' () 함수를 사용하여 데이터베이스' 를 실행한 후, 그것은 단지 하나의 쿼리하지 삽입하십시오 불렀으매 insert_id 반환되므로 마지막 삽입됨 id
예:
$this->db->insert('mytable',$data);
echo $this->db->insert_id(); //returns last inserted id
한 선
echo $this->db->insert('mytable',$data)->insert_id();
난 마지막 auto_increment 구문을 사용하여 테이블을 MySQL id 포지셔닝하십시오 순결케 afaq 싶습니다.
php, mysql last_insert_id mysql_insert_id () () 만 열거하십시오 마지막 트랜잭션 ID.
마지막 auto_incremented ID 스케쳐내 모든 테이블에 너회의 스키마 (마지막 트랜잭션까지 아니라) 한 이 질의에서는 사용할 수 있습니다.
SELECT AUTO_INCREMENT FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'my_database'
AND TABLE_NAME = 'my_table_name';
참고: 여러 삽입물의 경우 한 개의 기술서임을 mysqli::insert_id 정확하지 않습니다.
이 table:
xyz 테이블 만들기 ' (id int (11), 이름은 auto_increment varchar (255), 기본 키 (id),'
이제 할 경우:
'xyz 삽입하십시오 값 (& # 39, one& # 39;) (이름), (& # 39, two& # 39;), (# 39, & # 39, three&),'
Mysqli::insert_id 적립율은 1 이 아닌 3.
정확한 값을 얻기 위해 해야 할 것:
'+' mysqli::insert_id mysqli::affected_rows) - 1
지금까지 문서임 컴포지션이 약어입니다 않았다.
$sql="INSERT INTO table (col1, col2, col3) VALUES (val1, val2, val3)";
$mysqli->query($sql);
$last_inserted_id=$mysqli->insert_id; // returns last ID
$sql="INSERT INTO table (col1, col2, col3) VALUES (val1, val2, val3)";
$database->query($sql);
$last_inserted_id=$database->lastInsertId(); // returns last ID
가끔 볼 수 없다 ',' 거래 '를 사용하여 미스크리 wasn& # 39 미스크리: $0 반환되었습니다 insert_id' 때문이다. 특히, 만약 내가 '의 저장 프로시저를 실행할 수 있는 삽입하십시오 사용하고 있었습니다. 그래서 트랜잭션 내에서 다른 방법도 있다.
<?php
function getInsertId(mysqli &$instance, $enforceQuery = false){
if(!$enforceQuery)return $instance->insert_id;
$result = $instance->query('SELECT LAST_INSERT_ID();');
if($instance->errno)return false;
list($buffer) = $result->fetch_row();
$result->free();
unset($result);
return $buffer;
}
?>
<?php
$mysqli = new mysqli("localhost", "yourUsername", "yourPassword", "yourDB");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// Conside employee table with id,name,designation
$query = "INSERT INTO myCity VALUES (NULL, 'Ram', 'Developer')";
$mysqli->query($query);
printf ("New Record has id %d.\n", $mysqli->insert_id);
/* close connection */
$mysqli->close();
?>
토론을 통해 확인할 수 있는 이 모든 것은 내가 solaris. 맥스야 id 가 뭔지 id 다음 합니다. (내 id 가 될 경우 최대 5 다음 5+1 = 6).
만약 다른 사람이 간 정보 확인 및 삽입하십시오 삽입물의 경우 해당 ID 제공하십시오 잘못된 것이다.
그렇게 하면 해시라고 만들 수 있는 고유 값 또는 다른 타임스탬프에 포함시키십시오 해결할 수 있다.
그 후 같은 함수 값을 사용하여 조종됩니다 해시라고 비어 있는 정보를 삽입할 수 있습니다. 이렇게 될 경우 ID 만들기 AUTO_INCRECEMENT 선정됐다.
그럼 아직 id 에 대한 것과 동일한 기능을 너회의 해시보다 진실이며당신이 와 동일한 해시라고 보일 수 있다. Mysql 과 업데이트 완료 후 빈 값을 채우는 수 있습니다.
여기에 좀 더 접속에만 있지만 그래도 여전히 길일.
좋은 운빨이야 해결할 수 있습니다.
테이블 같은 경우 자동 증분할 Emp_ID, 열, UserID 있다. 이 기록을 마지막으로 삽입됨 afaq 쿼리하지 사용하면 됩니다
$con = mysqli_connect('localhost', 'userid', 'password', 'database_name');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$sql = "SELECT * FROM table_name where UserID=(select MAX(UserID)from table_name)";
$result = mysqli_query($con, $sql);