【发布时间】:2015-12-06 17:36:43
【问题描述】:
我正在尝试通过将默认顺序设置为等于当前存在的ID 来将排序信息追溯添加到我的 SQL 数据库中。 ID 列是 INT,sequence 列是 TEXT。
我希望sequence 列采用以下格式:["1", "1", "1"]
以下作品:
UPDATE products p
SET p.sequence = p.id
出于某种原因,每当我得到一个查询工作(即使是cast()),它都会添加值而不是连接它们......
例如,我尝试过:
UPDATE products p
SET p.sequence = cast(p.id as char(10))+cast(p.id as char(10))
并且sequence 列全部更改为id+id 的值,例如ID = 1,序列 = 2...
如果我尝试:
UPDATE products p
SET p.sequence = '["'+p.id+'", "'+p.id+'", "'+p.id+'"]'
结果:sequence 的值现在是ID 值的三倍,即 ID = 2,序列 = 6。它是添加 ID,而不是连接它们。
如果我cast() 相同的查询,它说“0 行受影响”:
UPDATE products p
SET p.sequence = '["'+cast(p.id as char(10))+'", "'+cast(p.id as char(10))+'", "'+cast(p.id as char(10))+'"]'
【问题讨论】:
-
sql server 还是 mysql?
-
MySQL(带 PHPMyAdmin 界面)
标签: mysql sql sql-update