【问题标题】:Field1 equals Field2 if Field1 is specific....如果 Field1 是特定的,则 Field1 等于 Field2....
【发布时间】:2013-12-10 21:58:18
【问题描述】:

PHP/mysql 我怎样才能做到这一点?非常感谢任何帮助。 数据库由 2 个字段组成。 ID INT AUTO_INCREMENT Field1 Var 6 nul Field2 Var 6 nul 如果我在 field1 中输入 1A2345,field2 应该等于 PO1A23 如果我在 field1 中输入 2B1234,Field2 应该等于 Po2B12,依此类推。 Field1 总是变化的,Field2 将有 24 个项目总是相同的。 我是新手,请温柔。 谢谢。

【问题讨论】:

  • 我不明白应用了什么逻辑。你能再解释一下吗?另外,您能“稍微”编辑一下您的文字吗?

标签: php mysql


【解决方案1】:

如果我的理解正确,您希望将“PO”与 Field1 的前 4 个字符连接起来,并将 Feild2 设置为该值。

为此,您只需设置Field2 = CONCAT('PO', SUBSTR(Field1, 1, 4))

一个例子如下:

UPDATE table SET Field2 = CONCAT('PO', SUBSTR(Field1, 1, 4));

有关CONCATSUBSTR 的更多信息。

【讨论】:

  • 这正是我想要的。我收到错误“语法错误,第 4 行中出现意外的 T_STRING”。有任何想法吗?夏尔杰迪
  • 这听起来像是 PHP 错误。你能告诉我你在第 4 行有什么吗?
  • 更新 a1563161_data1 SET POLLID = CONCAT('PO', SUBSTR(PSCODE, 0, 4));
  • 这就是第 4 行的全部内容? PSCODEa1563161_data1 上的字段吗? 0, 4 实际上应该是 1, 4。我有一个错字,但现在已修复。
  • 如果这是在 PHP 文件中,您需要使用一些数据库函数将该查询传递给数据库。如果您正在这样做,您不能只在代码中间调用它。无论如何,您可以在原始问题中提供更大的代码 sn-p 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 1970-01-01
相关资源
最近更新 更多