【问题标题】:CREATE SEQUENCE IN MYSQL [closed]在 MYSQL 中创建序列 [关闭]
【发布时间】:2013-04-09 10:30:04
【问题描述】:

我在 oracle 中有一个 PL/SQL 序列。我使用oracle DB和php 代码如下-

CREATE SEQUENCE SEQ_ID
START WITH 1
INCREMENT BY 1
MAXVALUE 99999999
MINVALUE 1
NOCYCLE;

像这样在列中插入值

UPDATE tableName SET columnName = seq_test_id.NEXTVAL

如何在 php oci_parse 中实现它

【问题讨论】:

  • 您的主题喊“MySQL”,但您声称使用的是 Oracle。它到底是什么。 (而Oracle中的序列与PL/SQL无关)
  • 我上面的马说了什么,还有:如果你的问题是“mysql中的序列是什么”,如果我没记错的话:dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
  • @a_horse_with_no_name: sinc ehe 提到oci_parse id 假设它的 Oracle 实际适用...
  • @prodigitalson:我也这么认为,但 OP 的意思可能完全不同。

标签: php sql oracle


【解决方案1】:

假设您要使用 Oracle,只需设置语句、解析和执行即可。无需进行任何绑定,因为您没有绑定变量。本文改编自PHP documentation of oci_parse

$conn = oci_connect(your username, your password, your database);
$stid = oci_parse($conn, 'UPDATE tableName SET columnName = seq_test_id.NEXTVAL');
oci_execute($stid);

【讨论】:

  • 对不起,答案的第一篇文章有​​文档页面的 SQL。它已使用 OP 的 SQL 进行了更新。
  • 我应该将 seq_test_id 序列保存在 oracle DB 中吗?
  • 当您执行CREATE SEQUENCE seq_test_id... 时,您正在将其保存在数据库中。
  • 就是这样,谢谢.. :)
猜你喜欢
  • 1970-01-01
  • 2012-10-12
  • 2020-02-25
  • 2014-08-04
  • 2011-07-08
  • 2014-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多