1

我正在设计一个数据库,并且需要一个语句一次将值插入两个表中。我这样做的问题是其中一个表需要一个值,该值在另一个表中自动递增。我怎样才能做到这一点?不幸的是,我的主机不支持使用外键。(我正在使用 mySQL)
我将表名和值放在下面。

Task

+ id (auto incremented value)
+ dataid (should have been foreign key to data.id- which will be auto incremented when +tatement is xecuted)
+ priority (task priority 1-100)
+ statusid (should have been foreign key to status.id - this value is given)
+ toc (TimeOfCreation - timestamp, will be set automatically)

Data

+ id (auto incremented value)
+ text (the text of the task/privatemsg/statusmsg etc.)

你们中的一个或某人可以帮助我制作一个插入语句,使我可以将这些数据插入这些表中,其中 data.id 自动递增,并存储在 task.dataid 中?

text=fix login  
priority=99  
statusid=4

请询问您是否有任何问题。
提前致谢

Pyracell

4

2 回答 2

1

看到这个:

http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

“如果将记录插入到包含 AUTO_INCREMENT 列的表中,则可以通过调用 mysql_insert_id() 函数来获取存储在该列中的值。”

于 2013-04-27T10:13:07.273 回答
0

在对第一个表进行 INSERT 查询之后,立即编写一个查询,从第一个表中选择 MAX(data.id) 并将该值插入 task.dataid。

于 2013-04-27T10:09:45.870 回答