MYSQL命令:
UPDATE `tbl_objednavka` SET
`TOTAL` = '6300',
`EANS` = CAST('8433611369655;' AS char)+CAST(`EANS` AS char),
`COUNTS` = CAST('1;' AS char)+CAST(`COUNTS` AS char)
WHERE `ID_OBJEDNAVKA`=2;
_____________________________________
| | |
| EANS | COUNTS |
+-----------------+-----------------+
| | |
| 8433611364094 | 1 |
+-----------------+-----------------+
出于一些奇怪的原因'8433611369655;'不合并字符串,但添加一个数字,所以我得到的东西是这样的:1.6867223e + 13 ...
我需要得到一个数组,所以这个:8433611369655; 8433611364094在EANS和1; 1在COUNTS
我可以使用php,但我很乐意只使用SLQ
答案 0 :(得分:2)
您正在使用MySQL,因此您希望使用concat()
而非+
进行字符串连接。
此外,您应该从不将值转换为char()
而不需要长度。但是,在这种情况下,我认为varchar()
将是更合适的类型。
但是,我会建议这个查询:
UPDATE `tbl_objednavka`
SET `TOTAL` = '6300',
`EANS` = concat('8433611369655;', `EANS`),
`COUNTS` = concat('1;', `COUNTS`)
WHERE `ID_OBJEDNAVKA`=2;
你似乎根本不需要演员阵容。 EANS
和COUNTS
的类型应该是开头的字符,因为您要为它们分配字符值。
如果它们是数字,那么您需要更改表格,以便它们可以保存您想要的值。在实践中,我建议在这种情况下添加新列。或者,使用视图创建新列。
答案 1 :(得分:1)
UPDATE `tbl_objednavka` SET
`TOTAL` = '6300',
`EANS` = CONCAT('8433611369655;', CAST(`EANS` AS char)),
`COUNTS` = CONCAT('1;', CAST(`COUNTS` AS char))
WHERE `ID_OBJEDNAVKA`=2;
MySQL不使用+
进行字符串连接,您必须使用CONCAT()
函数。