J'ai la requête suivante que je veux modifier dans un INSERT en tbl si elle n'existe pas ou UPDATE si c'est le cas. J'essaie ce qui suit mais je n'ai pas de joie jusqu'à présent - quel est le problème avec ma requête ci-dessous?Insertion dans tbl sur Erreur de mise à jour de clé en double
$sql = "INSERT INTO tbldata (temperature, temperature_feels, humidity, precipitation) ON DUPLICATE KEY UPDATE id = ?, temperature = ?, temperature_feels = ?, humidity = ?, precipitation = ?";
- mise à jour - Ce ne fonctionne pas ... ce que je fais mal?
$sql = "INSERT INTO weather_data (uv, weather_status, weather_type, temperature, temperature_feels, humidity, precipitation)
VALUES (?,?,?,?,?,?,?)
ON DUPLICATE KEY UPDATE
uv = ?,
weather_status = ?,
weather_type = ?,
temperature = ?,
temperature_feels = ?,
humidity = ?,
precipitation = ?
UID = ?";
- mise à jour - mon schéma
'UID', 'char(17)', 'NO', 'PRI', NULL, ''
'stationID', 'int(11)', 'YES', '', NULL, ''
'temperature', 'float', 'YES', '', NULL, ''
'UV', 'float', 'YES', '', NULL, ''
'temperature_feels', 'float', 'YES', '', NULL, ''
'humidity', 'float', 'YES', '', NULL, ''
'weather_type', 'int(11)', 'YES', '', '-1', ''
'precipitation', 'float', 'YES', '', NULL, ''
'update_station_id', 'tinyint(4)', 'YES', '', '1', ''
'update_due', 'timestamp', 'YES', '', NULL, ''
'weather_status', 'varchar(128)', 'YES', '', NULL, ''
Comment puis-je tester cette requête avec liaison dans mon client mysql? – Zabs
Veuillez fournir le schéma de votre table weather_data afin que nous puissions voir quelle clé primaire et quels index uniques vous avez en place. –
Ma clé primaire est le champ UID – Zabs