我试图在我的php应用程序中更新mysql表。这是我想弄明白的:仅当字段已具有值时,mysql才会连接数据
如果“my-field”不包含任何数据,我想用特定的数据字符串更新该字段。
如果“我的字段”已经包含数据,我想连接更多的数据给它,并用逗号分隔。
“我的场”被设置为“NOT NULL”
下面是我使用的代码,我觉得是接近我所需要的,但它不工作。
UPDATE my-table SET
my-field =
IF(
LENGTH('my-field'),
CONCAT_WS(
CHAR(44 USING UTF8),
'my-field',
'if-my-field-has-length-data'
),
'if-my-field-has-NO-length-data');
我试过下面的代码。它实际上工作。但是,它最终总是添加逗号开始像这样:
note the comma here => ,data-set-1,data-set-2
我正在寻找这样的结果:
note no comma on first data set => data-set-1,data-set-2
UPDATE my-table SET
my-field =
CONCAT_WS(
CHAR(44 USING UTF8),
'my-field',
'general-data'
)
有谁知道做我在找什么?
为什么要存储逗号分隔的字符串有许多有效的原因。这可能是因为不需要根据字段中的数据进行查询,并且任何数据解析都会在完全独立的应用程序层中进行。 –
正确,我不需要查询数据。只是寻找一种干净的方式来存储我可以在以后轻松使用PHP解析的正在进行的列表。加上你的代码在myfield空时仍然在逗号开头 – Austin
@奥斯汀。 。 。当'myfield'最初是'NULL'时,这不会添加逗号。 –