如果它是未知的,我如何在Mysql中插入值?

时间:2013-04-04 13:59:23

标签: mysql database

Hello Friend我需要关于Mysql的帮助。我的数据库看起来像这样 表名=用户

id = "7" | YourLastIP = ""

我的查询是:

UPDATE users SET `YourLastIP` = `XX.XX.XX.XX` WHERE `id` = `7`

我想插入,但它也不适合我,请指导我

 INSERT INTO Users `YourLastIP` = (`XX.XX.XX.XX`) WHERE `id` = `7`

请帮助我如果表值未知,如何插入值。

3 个答案:

答案 0 :(得分:1)

你正在使用反引号,这意味着你在MySQL中意味着一个列名,而不是文本。请改用单引号'

答案 1 :(得分:0)

首先,问题是你用反引号包装了值,因为它是一个字符串文字,所以假设它是单引号。

UPDATE users SET `YourLastIP` = 'XX.XX.XX.XX' WHERE `id` = '7' 

其次,如果您想要INSERT ... ON DUPLICATE KEY UPDATE现有 ID ,请使用UPDATE,否则INSERT如果不存在,则使用INSERT INTO users(ID, YourLastIP) VALUES (7, 'ip_here') ON DUPLICATE KEY UPDATE YourLastIP = 'ip_here'

PreparedStatements

作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection攻击。请查看下面的文章,了解如何防止它。通过使用{{1}},您可以摆脱在值周围使用单引号。

答案 2 :(得分:0)

在定义

中使列为NULLABLE

然后,

CREATE TABLE PRO(ID INT, YOURLASTIP VARCHAR(15));
INSERT INTO PRO values(4, "xxx.xxx.xxx.xxx");