我試圖通過設置默認順序等於當前存在的ID
來追溯性地將排序信息添加到我的SQL數據庫。 ID
列是INT
而sequence
列是TEXT
。SQL cast()INT到CHAR在UPDATE查詢中不起作用
我想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? – Mihai
MySQL(帶PHPMyAdmin接口) – SanguineEpitaph