136_MySQL_4_(SELECT結果を変数に入れる)_on SAKURAVPS

最新レコードの値を見て「水いる・いらない」をいずれ判断させるのに、SELECT結果を辺陬に入れて、最新レコードだけ変更する、、にチャレンジ!

SQL文ではうまく行く!
phpmyadminではダメだけど。。
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= (CEILING(RAND() * 100))
WHERE Num = @abc;
ID:raspai Pass=A*****6

/home/raspai
のところに、ファイル
file_sql_upd1
を作成
****これをいれました!*****
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= (CEILING(RAND() * 100)),
`humid` = (CEILING(RAND() * 100)),
`water_need` = ‘いらない!’,
`memo` =’temp,humidはランダム!’
 WHERE Num = @abc;
crontabの設定を追加
10 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_upd1
10分後に最新レコードだけ、ランダム変数に変更します。
はたして、、、????
(2016/12/06 23:00いい感じ!!)
結局、今のファイルは、、、下記。
****file_sql_ist1****
INSERT INTO `t_sensor` (`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,’10ど’,’10%’,’no_need’,’file_sql_ist1のそのままの値’)
****file_sql_upd1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
10,
10,
‘no_need’,
‘2016/12/6_10:30_そのまま’);
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= CONCAT((CEILING(RAND() * 100)),’度’),
`humid` = CONCAT((CEILING(RAND() * 100)),’%’),
`water_need` = ‘水いらない!’,
`memo` =’temp,humidはランダム!file_sql_upd1で修正’
 WHERE Num = @abc;
(2016/12/07 8:00今は下記)
****file_sql_ist1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
CONCAT((CEILING(RAND() * 100)),’ど’),
CONCAT((CEILING(RAND() * 100)),’%’),
‘test’,
‘file_sql_ist1のそのままの値’)
****file_sql_upd1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
CONCAT((CEILING(RAND() * 100))),
CONCAT((CEILING(RAND() * 100))),
‘test’,
‘file_sql_ist1のそのままの値’);
SELECT Num,temp,humid into @abc,@temp_de,@humid_fg
from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= CONCAT(@temp_de,’度’),
`humid` = CONCAT(@humid_fg,’%’),
`water_need` = ‘水いらない!’,
`memo` =’temp,humidはランダム!file_sql_upd1で修正’
 WHERE Num = @abc;
以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です