【发布时间】:2013-12-28 13:16:11
【问题描述】:
我正在尝试从我的 linux 终端向表中插入随机值,但是当我使用以下 SQL 语句时,
INSERT INTO kCreate (k1 , k2) VALUES ('$RANDOM' , '$RANDOM');
其中 k1 和 k2 的数据类型为 INT,插入的是 0 而不是随机值,我在这里做错了什么?
【问题讨论】:
我正在尝试从我的 linux 终端向表中插入随机值,但是当我使用以下 SQL 语句时,
INSERT INTO kCreate (k1 , k2) VALUES ('$RANDOM' , '$RANDOM');
其中 k1 和 k2 的数据类型为 INT,插入的是 0 而不是随机值,我在这里做错了什么?
【问题讨论】:
k1 和 k2 是 INT 类型,不需要把值放在单引号内,试试这个:
sql="INSERT into kcreate ( k1, k2) values ($RANDOM, $RANDOM);"
echo $sql | mysql -ppassword test
【讨论】:
你可以使用mysql的rand()函数和ceil()。这是一个例子。
INSERT INTO kCreate (k1 , k2)
VALUES (ceil(rand()*1000) , ceil(rand()*1000));
【讨论】: