在将新数据插入表格之后,我需要直接选择一些新数据,因此我可以将其用于插入另一个表格。
我能想到这样做的唯一方法是使用我的行中的'datetime'字段,但是如何检索插入的最新日期/时间。
INSERT
声明NOW()
datetime
希望这是有道理的。谢谢
答案 0 :(得分:1)
有很多方法可以做到这一点。
为什么不为此使用触发器?
当触发器创建记录时,您可以获取插入记录的ID。然后,您可以执行选择并将新值插入相关表中。
MYSQL在使用触发器方面拥有大量资源。
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
或者您可以获取受影响的行数,然后使用它来在select语句中获取所需的结果集。
获取最后插入的ID?
如果您一次向数据库中插入一行,那么您将能够从MYSQL获取最后一个插入的ID。这将是您上次插入数据库的记录的主键值。
你基本上会在mysql中做这样的事情:
SET @inserted_id = LAST_INSERT_ID();
或者在PHP中,您可以使用以下功能:
mysql_insert_id(&mysql);
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
答案 1 :(得分:0)
按日期时间降序对结果进行排序,然后选择第一个结果。
society_select = SELECT socID, creator, datetime FROM societies.society ORDER BY datetime DESC LIMIT 1;
答案 2 :(得分:0)
您可以使用自动增量字段。插入数据后,您可以从表中检索列表插入的ID。并使用该ID获取最新记录。
答案 3 :(得分:0)
建议的触发器是一个选项。如果你出于某种原因不想使用它,你可以:
答案 4 :(得分:0)
插入数据后使用trigger。这肯定是更清洁的方式。
另一个选择是使用像mysql_insert_id这样的方法。假设你使用PHP。当然也有其他语言的等效方法。
排序不是一个选项(如果没有在事务中智能包装) - 如果你在表上有多次写入和读取,这可能会非常难看。