有个users表,2个字段:id(自增),global_id
我想实现插入记录时,global_id的值是id值加1000,可是我事先不知道id将要是什么值。。
我这样写:INSERT INTO users (global_id) VALUES (id + 1000)
可是不行。。正确的应该怎么写呢。。
我想实现插入记录时,global_id的值是id值加1000,可是我事先不知道id将要是什么值。。
我这样写:INSERT INTO users (global_id) VALUES (id + 1000)
可是不行。。正确的应该怎么写呢。。
mysql_insert_id
(PHP 3, PHP 4 )mysql_insert_id -- 取得上一步 INSERT 操作产生的 ID
说明
int mysql_insert_id ( [resource link_identifier])
mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。 如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回 0。如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()。 注: MySQL 中的 SQL 函数 LAST_INSERT_ID() 总是保存着最新产生的 AUTO_INCREMENT 值,并且不会在查询语句之间被重置。
mysql_affected_rows
(PHP 3, PHP 4 )mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
描述
int mysql_affected_rows ( [resource link_identifier])
mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。 注: 如果你使用事务处理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 commit 命令之后。 如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询, 在表中所有的记录都会被删除,但该函数返回值为 0。 注: 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。 这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数。 只有真正被修改的记录数才会被返回。 mysql_affected_rows() 函数不适用于 SELECT 语句;只适用于能够修改记录的语句中。请使用 mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。 如果最近一次查询失败的话,函数返回 -1。